Membatasi Panjang Karakter pada JTextField

Kadangkala ketika kita membuat sebuah aplikasi/program membutuhkan batasan panjang tertentu terhadap field inputan. Misalkan field "User ID" maksimal panjang karakter adalah 5 huruf.

Contoh Program


Di bawah ini adalah contoh program untuk membatasi panjang karakter pada JTextField.

Nama File : JTextFieldLengthLimitDemo.java

package com.nursalim.zone.java.swing;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

public class JTextFieldLengthLimitDemo extends JFrame {
 /**
  * 
  */
 private static final long serialVersionUID = -2557628370374830362L;
 private JTextField textField;
    private JLabel label;
    private JPanel panel;
    private Integer limit = 5; // Maksimal 5 Karakter
 
    public JTextFieldLengthLimitDemo() {
        initComponents();
        add(panel);
        textField.setDocument(new PlainDocument(){
            @Override
            public void insertString(int offset, String str, AttributeSet attributeSet) throws BadLocationException {
                if(getLength() + str.length() <= limit){
                    super.insertString(offset, str, attributeSet);
                }else{
                    label.setText("Panjang Maksimal User ID "+limit+" Huruf");
                }
            }
        });
    }
 
    private void initComponents(){
        textField = new JTextField(20);
        label = new JLabel("User ID");
        panel = new JPanel();
 
        panel.add(textField);
        panel.add(label);
 
        setTitle("JTextFild Limit");
        setSize(400, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);
    }
 
    public static void main (String[] arg){
        try{
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            new JTextFieldLengthLimitDemo().setVisible(true);
        }catch(Exception ex){
 
        }
    }
}


Compile & Running 


Coba compile dan jalankan program diatas, maka akan tampil gambar seperti dibawah ini :
Coba masukkan karakter/kata lebih, maka akan tampil message seperti dibawah ini :

 
Sekian tutorial singkat tentang "Membatasi Panjang Karakter pada JTextField". Semoga bermanfaat & Happy Learning :)

Post a Comment