Monday, June 27, 2016

Membatasi Karakter Di JTextField


Masih berkutat di jTextField, disini saya membuat contoh untuk membatasi hanya karakter tertentu saja yang bisa di input kan ke jTextField, misal hanya karakter angka saja atau hanya karakter huruf saja, atau karakter yang lain nya.
buat lah form seperti ini dengan netbean anda, disini saya memberi nama dengan textFilter.java
ganti nama variable nya
  • jTextField1 = textAngka
  • jTextField2 = textHuruf
lalu buat lah class JTextFilter seperti di bawah ini
class JTextFieldFilter extends PlainDocument {
public static final String numeric = “0123456789”;
public static final String huruf = “abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXXYZ”;
protected String acceptedChars = null;
protected boolean negativeAccepted = false;
public JTextFieldFilter(String acceptedchars) {
acceptedChars = acceptedchars;
}
public void setNegativeAccepted(boolean negativeaccepted) {
if (acceptedChars.equals(numeric) || (acceptedChars.equals(huruf))){
negativeAccepted = negativeaccepted;
acceptedChars += “-“;
}
}
@Override
public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {
if (str == null)
return;
for (int i = 0; i < str.length(); i++) {
if (acceptedChars.indexOf (str.valueOf(str.charAt(i))) == -1)
return;
}
if (negativeAccepted && str.indexOf(“-“) != -1) {
if (str.indexOf(“-“) != 0 || offset != 0) {
return;
}
}
super.insertString(offset, str, attr);
}
}
dan sekarang tambah kan syntax berikut di bawah initComponents();
textAngka.setDocument(new JTextFieldFilter(JTextFieldFilter.numeric));
textHuruf.setDocument(new JTextFieldFilter(JTextFieldFilter.huruf));
selamat mencoba, semoga bermamfaat bagi yang baru mempelajari java seperti saya.

No comments:

Post a Comment

Kriptografi Sederhana Dengan Algoritma Blowfish Menggunakan Java

Pada postingan sebelumnya saya memposting tentang enkripsi dan dekripsi sederhana dengan cara menggantikan kata yang di input dengan m...