Heim > Java > javaLernprogramm > Wie beschränke ich die JTextField-Eingabe nur auf positive ganze Zahlen?

Wie beschränke ich die JTextField-Eingabe nur auf positive ganze Zahlen?

Barbara Streisand
Freigeben: 2024-12-12 21:18:15
Original
138 Leute haben es durchsucht

How to Restrict JTextField Input to Positive Integers Only?

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;
        }
    }
    ...
}
Nach dem Login kopieren

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());
Nach dem Login kopieren

Vorteile der Verwendung von a DocumentFilter

  • Verwaltet verschiedene Eingabeszenarien, einschließlich Einfüge- und Ausschneide-/Kopiervorgänge.
  • Ermöglicht eine komplexe Eingabevalidierung, z. B. die Prüfung auf numerische Grenzwerte oder bestimmte Datenformate.
  • Vereinfacht den Code, indem die Eingabevalidierung in einer separaten Klasse erfolgt.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage