JavaFX in TextField nur int Werte?

...komplette Frage anzeigen

3 Antworten

Ich würde einfach gucken, ob sich die Zahl verarbeiten lässt:

    int testzahl = 0; // int-Variable erzeugen
try
{
testzahl = Integer.parseInt("bla"); // versuchen, der int-Variable einen Text zuzuweisen
System.out.println(testzahl); // diese Zeile wird gar nicht ausgeführt, weil ein Fehler auftritt
}
catch (NumberFormatException e)
{
System.out.println("Bitte nur Zahlen eingeben"); // Hier kannst du halt sagen, was passiert, wenn die Zahl sich nicht verarbeiten lässt
}

Statt dem "bla" muss natürlich der Inhalt des Textfeldes rein.

Antwort bewerten Vielen Dank für Deine Bewertung

Wenn erst bei einem Button geprüft werden soll, dann kannst du einfach ein Pattern verwenden. (In diesem Fall vorkompilieren, das ist schneller)

Man kann aber auch die Eingabe auf nur Zahlen begrenzen, einfach einen ChangeListener zu der Text Property des Textfields hinzufügen, falls die Eingabe nicht nur Zahlen enthält, einfach wieder den vorherigen Wert setzen.

Antwort bewerten Vielen Dank für Deine Bewertung

Zur Validierung ist die Antwort von Enarus sehr gut.

Was die Fehlerausgabe betrifft, verwende hier die Klasse: Alert.

Alert alert = new Alert(AlertType.ERROR);
alert.setTitle("Fehler...");
alert.setHeaderText("Eingabevalidierung");
alert.setContentText("Der enthaltene Text enthält keine Zahlen!");

alert.showAndWait();

(Verfügbar ab: Java8, Update 40)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?