9 Aralık 2018 Pazar

Swing JTextField Sınıfı - Tek Satırdır

Giriş
Şu satırı dahil ederiz.
import javax.swing.JTextField;
JTextField tek satır veri girişi içindir. JPasswordTextField ve JFormattedTextField isimli alt sınıfları var.

Html'i desteklemez.

constructor - int
Sütun sayısını belirtir. Sütun sayısı kaç tane m karakteri genişliği istediğimiz belirtir.
Örnek
Şöyle yaparız.
JTextField textField = new JTextField (10);
constructor - String
Sütun sayısını belirtir. Sütun sayısı kaç tane m karakteri genişliği istediğimiz belirtir. Açıklaması şöyle.
We encourage you to specify the number of columns for each text field. If you do not specify the number of columns or a preferred size, then the field's preferred size changes whenever the text changes, which can result in unwanted layout updates.
Örnek
Şöyle yaparız.
TextField cartonsPerShipmentBox = new TextField("5");
constructor - Document
Elimizde şöyle bir kod olsun. isValid metodunu kendimiz yazarız. Belirtilen offset'ten başlayarak str değişkenini mevcut metine ekleyerek doğruluğunu kontrol ederiz. Eğer sonuç doğru ise ekranda gösterilir.
MyDocument extends PlainDocument {

  @Override
  public void insertString( int offs, String str, AttributeSet a )
    throws BadLocationException {

    if (isValid (offs,str)) {
      super.insertString( offs, str, a );
    }
  }
}
Şöyle yaparız.
JTextField textField = new JTextField (new MyDocumnet());
addDocumentListener metodu
DocumentListener nesnesi ekler. Elimizde şöyle bir kod olsun.
class MyDocumentListener implements DocumentListener {

  @Override
  public void insertUpdate(DocumentEvent e) {
    ...
  }
  @Override
  public void removeUpdate(DocumentEvent e) {
    ...
  }
  @Override
  public void changedUpdate(DocumentEvent e) {
    ...
  }
}
Şöyle yaparız.
field.addDocumentListener(new MyDocumentListener());
addFocusListener metodu
Şöyle yaparız.
JTextField textField = new JTextField();
textField.addFocusListener(new FocusAdapter() {
  @Override
  public void focusGained(FocusEvent e) {
    textField.setText(value);
  }
});
getText metodu
Şöyle yaparız.
String str = textField.getText ();
setFont metodu
Şöyle yaparız.
textField.setFont (new Font("Arial", Font.PLAIN, 40));
setMaximumSize metodu
Şöyle yaparız.
textField.setMaximumSize(new Dimension(20, 20));

Hiç yorum yok:

Yorum Gönder