import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class JTextFieldMaxLength extends JTextField{
public JTextFieldMaxLength(int length){
this(null,length);
}
public JTextFieldMaxLength(String text, int length){
super(new PlainDocumentMaxLength(length),text,length);
}
}
class PlainDocumentMaxLength extends PlainDocument{
private int maxLength;
public PlainDocumentMaxLength(int maxLength) {
this.maxLength = maxLength;
}
public void insertString (int offset, String str, AttributeSet a)
throws BadLocationException { if (getLength() + str.length() > maxLength) {
// Toolkit.getDefaultToolkit().beep();
}else{
super.insertString(offset,str,a);
}
}
}
|