Ihr aktueller Code legt nicht die maximale Länge fest, sondern definiert die Anzahl der sichtbaren Spalten.
Um die maximale Länge der Daten zu beschränken, können Sie eine benutzerdefinierte Document
für das Textfeld festlegen können, dass die maximale Länge Beschränkung nicht bricht Ergänzungen erlauben:
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);
}
}
}
Dann wird Ihr Textfeld gesetzt, dies zu nutzen Dokument:
text2.setDocument(new LengthRestrictedDocument(8));
Sie können ein gutes Beispiel dafür finden, wie dies hier zu tun (http://www.java2s.com/Tutorial/Java/0240__Swing/LimitJTextFieldinputtoamaximumlength.htm). – Designpattern