Heim > Java > javaLernprogramm > Wie kann ich ein JTextField so einschränken, dass es nur numerische Werte akzeptiert?

Wie kann ich ein JTextField so einschränken, dass es nur numerische Werte akzeptiert?

Susan Sarandon
Freigeben: 2024-12-16 16:42:11
Original
190 Leute haben es durchsucht

How Can I Restrict a JTextField to Accept Only Numeric Values?

Gibt es eine Möglichkeit, nur numerische Werte in einem JTextField zu akzeptieren? Gibt es dafür eine spezielle Methode?

Ausführliche Antwort:

Die JFormattedTextField-Klasse bietet eine leistungsstarke Möglichkeit, Benutzereingaben zu validieren und auf bestimmte Formate zu beschränken. Es bietet mehrere integrierte Formate, einschließlich numerischer Formate, was es zu einer idealen Wahl für die Annahme nur numerischer Werte in einem JTextField macht.

So können Sie es verwenden:

1. Erstellen Sie ein formatiertes Zahlenfeld:

import javax.swing.*;
import java.text.NumberFormat;

// Create a number format instance
NumberFormat numberFormat = NumberFormat.getIntegerInstance();

// Create a formatted text field with the number format
JFormattedTextField numberField = new JFormattedTextField(numberFormat);
Nach dem Login kopieren

2. Standardwert festlegen:

Wenn Sie das Feld mit einem Standardwert initialisieren möchten, verwenden Sie die setValue-Methode:

numberField.setValue(0);
Nach dem Login kopieren

3. Anpassung (optional):

Sie können das Erscheinungsbild oder Verhalten des Felds weiter anpassen, z. B. die Caret-Farbe festlegen und das Verhalten bei Fokusverlust aktivieren oder deaktivieren:

// Set focus lost behavior (commit or revert changes)
numberField.setFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);
Nach dem Login kopieren

4. Zur GUI hinzufügen:

Fügen Sie das formatierte Textfeld zu Ihrer grafischen Benutzeroberfläche (GUI) hinzu.

Visuelles Feedback (optional):

JFormattedTextField bietet visuelles Feedback, um anzuzeigen, ob die Eingabe gültig ist. Standardmäßig wird der Hintergrund bei einem ungültigen Wert rot. Sie können dieses Verhalten bei Bedarf anpassen.

Zusätzliche Hinweise:

  • Das JFormattedTextField kann verschiedene Formate verarbeiten, einschließlich Ganzzahl, Dezimalzahl und Währung.
  • Sie können die Format-Klasse erweitern, um benutzerdefinierte Formate zu erstellen, die bestimmte Anforderungen erfüllen.
  • Denken Sie an die richtige Handhabung Ausnahmen, die beim Parsen oder Validieren von Eingaben aufgrund der Formatbeschränkungen auftreten können.

Das obige ist der detaillierte Inhalt vonWie kann ich ein JTextField so einschränken, dass es nur numerische Werte akzeptiert?. 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