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 jTextFiel... thumbnail 1 summary

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