Aktualny kod nie określa maksymalnej długości, a raczej określa liczbę widocznych kolumn.
Aby ograniczyć maksymalną długość danych, można ustawić niestandardowy Document
dla pola tekstowego, które nie zezwala uzupełnień, które rozkładają maksymalne ograniczenie Długość:
public final class LengthRestrictedDocument extends PlainDocument {
private final int limit;
public LengthRestrictedDocument(int limit) {
this.limit = limit;
}
@Override
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
if (str == null)
return;
if ((getLength() + str.length()) <= limit) {
super.insertString(offs, str, a);
}
}
}
Następnie ustawić pole tekstowe, aby skorzystać z tej dokument:
text2.setDocument(new LengthRestrictedDocument(8));
Można znaleźć dobry przykład jak to zrobić tutaj (http://www.java2s.com/Tutorial/Java/0240__Swing/LimitJTextFieldinputtoamaximumlength.htm). – Designpattern