24 Şubat 2013

JTextField limit

Veritabanı kayıtları sırasında en çok karşılaşılan hatalardan biri de fazla karakter kaydedilmeye çalışmaktır. Kayıt öncesi kontrollerle bunu engelleyebileceğimiz gibi JTextField'lara belirli bir limit vererek kontrol yapmaktan kurtulabiliriz. Aşağıdaki sınıfı projemize dahil ederek tek satırla kontrollerden kurtulabiliriz.

// sınıfın kullanılması 
field.setDocument(new JTextFieldLimit(10));
 
 
Projemije dahil edeceğimiz sınıf;
 
import javax.swing.text.*;

public class JTextFieldLimit extends PlainDocument {
private int limit;
JTextFieldLimit(int limit) {
 super();
 this.limit = limit;
}

public void insertString(int offset, String str, AttributeSet attr)
  throws BadLocationException {
 if (str == null)
  return;

 if ((getLength() + str.length()) <= limit) {
  super.insertString(offset, str, attr);
 }
}
}

2 yorum: