JTextField-Eingabe auf Ganzzahlen beschränken
Um die Eingabe auf positive Ganzzahlen in einem JTextField zu beschränken, wird die Verwendung eines DocumentFilters anstelle eines KeyListeners empfohlen. Ein DocumentFilter bietet eine umfassendere Lösung, die verschiedene Eingabeszenarien verarbeitet.
DocumentFilter-Implementierung
Ein DocumentFilter kann implementiert werden, um Eingaben beim Einfügen zu validieren. Dieser Beispielfilter, MyIntFilter, prüft den eingegebenen Text, um sicherzustellen, dass er eine gültige Ganzzahl darstellt:
class MyIntFilter extends DocumentFilter { ... private boolean test(String text) { try { Integer.parseInt(text); return true; } catch (NumberFormatException e) { return false; } } ... }
Dieser Filter prüft, ob der Eingabetext als Ganzzahl geparst werden kann. Wenn gültig, erlaubt es das Einfügen. Andernfalls wird das Einfügen verhindert.
Anwenden des DocumentFilters
Um den Filter auf Ihr JTextField anzuwenden, verwenden Sie die setDocumentFilter-Methode:
PlainDocument doc = (PlainDocument) textField.getDocument(); doc.setDocumentFilter(new MyIntFilter());
Vorteile der Verwendung von a DocumentFilter
Das obige ist der detaillierte Inhalt vonWie beschränke ich die JTextField-Eingabe nur auf positive ganze Zahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!