Merhaba. Basit bir gui uygulamasında kullanılmak üzere bir tane JTextField nesnesi var. Bunun margin özelliğini ayarlamak için setMargin(insets) metodunu kullanıyorum. Eğer textField' ın border' ı set edilmemişse düzgün çalışıyor, ancak herhangi bir border set edilmiş ise düzgün çalışmıyor. Kod şu şekilde

import java.awt.Color;
import java.awt.Insets;
import java.io.IOException;

import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class ImageField {

public static void main(String[] args) throws IOException {

    JTextField textField = new JTextField();
    textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
    textField.setMargin(new Insets(0, 20, 0, 0));
    JOptionPane.showMessageDialog(null, textField, "",JOptionPane.PLAIN_MESSAGE);
    }
}

Ancak şu satırı kaldırdığımda kod düzgün çalışıyor.

textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));

soruldu: 08 May '12, 06:23

querman's gravatar image

querman
391162028
cevap kabul oranı: 0%

değiştirildi: 08 May '12, 06:54


Gelen cevaplara bakılırsa, JTextComponent base class' ında böyle bir problem mevcut. Bu sorunu aşmak için uygulanacak olan yöntem ise CompoundBorder olarak gösterilmiş. Örnek

Border line = BorderFactory.createLineBorder(Color.DARK_GRAY);
Border empty = new EmptyBorder(0, 20, 0, 0);
CompoundBorder border = new CompoundBorder(line, empty);
textField.setBorder(border);

setMargin(inset) metodu yerine emptyBorder oluşturup, inset değeri constructor' da verilebilir.

permanent link

cevaplandı: 08 May '12, 10:11

querman's gravatar image

querman
391162028
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×79

Soruldu: 08 May '12, 06:23

Görüntüleme: 1,074 kez

Son güncelleme: 02 Nis, 18:59

powered by BitNami OSQA