Kamis, 20 November 2014

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 :)

Tidak ada komentar:

Posting Komentar