pembahasan kali ini adalah bagaimana kita membuat JTextField yang kita gunakan itu bisa memiliki jumlah karakter sehingga user atau pengguna hanya bisa memasukkan String yang memiliki karakter maksimum sesuai yang telah kita sediakan.
Pertama kita buat terlebih dahulu satu class JTextFieldLimit yang diextendkan dari Plain Document, dan source codenya seperti berikut ini :
import javax.swing.text.*; public class JTextFieldLimit extends PlainDocument { private int limit; // Opsi untuk merubah ke Uppercase private boolean toUppercase = false; JTextFieldLimit(int limit) { super(); this.limit = limit; } JTextFieldLimit(int limit, boolean upper) { super(); this.limit = limit; toUppercase = upper; } public void insertString (int offset, String str, AttributeSet attr) throws BadLocationException { if (str == null) return; if ((getLength() + str.length()) <= limit) { if (toUppercase) str = str.toUpperCase(); super.insertString(offset, str, attr); } } }Setelah class tersebut dibuat, selanjutnya anda tinggal menggunakannya di class-class yang diperlukan, berikut contoh penggunaannya :
import java.awt.*; import javax.swing.*; public class Tester extends JApplet{ JTextField textfield1; JLabel label1; public void init() { getContentPane().setLayout(new FlowLayout()); // label1 = new JLabel("Maksimum 10 Karakter"); textfield1 = new JTextField(15); getContentPane().add(label1); getContentPane().add(textfield1); textfield1.setDocument (new JTextFieldLimit(10)); } }