Agar JTextField Tidak Menerima Input Selain Angka


Java Programming

Java Programming

Peralatan yang diperlukan :

  1. Java Development Kit 1.6
  2. Integrated Development Environtment (NetBeans, Eclipse, dll)

Pada posting sebelumnya saya memberi tahu cara melakukan proses validasi agar data inputan harus Angka menggunakan regex, namun kemarin ternyata ada yang bertanya, gimana kalo validasinya ingin langsun dilakukan di jtextfield, artinya saat user mengetikkan huruf, otomatis jtextfield tidak menerimanya, jadi dengan begitu hasil textnya pasti angka, dan ini bisa membuat lebih mudah proses validasi πŸ˜€

Untuk membuat hal seperti, caranya gampang saya, yaitu dengan membuat Document sendiri, namun karena kalo membuat dari awal akan memakan waktu lama, jadi gunakan saya PlainDocument, PlainDocument digunakan untuk jtextfield, karena jtextfield tidak mendukung rich text editor. Setelah itu override metode insertString milik PlainDocument tersebut.

jTextFieldHarusAngka.setDocument(new PlainDocument() {

    private static final long serialVersionUID = 1L;

    @Override
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        if (str.matches("[0-9]*")) {
            super.insertString(offs, str, a);
        } else {
            // data ditolak
        }
    }
});
Validasi JTextField

Validasi JTextField

Mudahkan? πŸ˜€

Iklan

21 pemikiran pada “Agar JTextField Tidak Menerima Input Selain Angka

  1. kk ikut sharing ya ? bisa juga pake ini :

    private void jTextFieldHarusAngkaKeyTyped(java.awt.event.KeyEvent evt) {
    char[] x = new char[] {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’};
    boolean boleh = false;
    for (int i=0; i < x.length; i++) {
    if (x[i] == evt.getKeyChar()) {
    boleh = true;
    break;
    }
    }
    if (!boleh) {
    evt.setKeyChar((char) 0);
    }
    }

  2. coba ni brader setiawan,,

    public boolean AngkaSaja(JTextField txt) {
    boolean bool = true;
    int n = txt.getText().length();
    for (int i = 0; i < n; i++) {
    if (!Character.isDigit(txt.getText().charAt(i))) {
    bool = false;
    return bool;
    }
    }
    return bool;
    }

  3. hal diatas tidak berlaku secara real time ya? Artinya, user masih bisa mengetikkan huruf dan error baru ketahuan setelah submit terjadi?

  4. itu kan kalo yang yang dibatasinya angka.
    kalo yang dibatasinya huruf gimana mas?
    misalnya yang boleh di input cuma huruf A-Z, a-z, dan angka 0-9.
    sementara karakter seperti simbol !@#$%^&*()_+|}{[]\’;:”/.,?
    gak bisa di masukkan.
    dan 1 lagi, kalo misalnya data yang di inputkan kurang dari 3 karakter, maka akan muncul notifikasi.
    tau gak caranya mas?

  5. numpang nanya =>
    klo untuk menampilkan textfield kita secara otomatis gmna?
    otomatis maksud keterangn fied ny akan tampil sesuai database yg udh di connectkn,,
    gmna ya?

  6. share , tanpa membuat dokumen πŸ™‚

    String str=huruf.getText();
    int str2;

    try{
    str2 = Integer.valueOf(str);
    if (!str.equals(str2)){
    JOptionPane.showMessageDialog(rootPane,”Masukkan Hanya Huruf !” );
    }
    }catch (Exception e){

    JOptionPane.showMessageDialog(rootPane,”Benar” );
    }

  7. Tadi penjelasan diatas tentang membuat validasi agar inputannya harus angka, sebenarnya ini juga bisa menfilter simbol sama spasi gak? Kalo gak, bagaimana caranya menyaring/men-filter spasi, simbol-simbol agar simbol-simbol dan spasi tidak bisa dimasukkan ke JTextField yang sudah ada di JFrame?

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s