Was ist eine einfache Möglichkeit, ein Textfeld (oder das solche) zu erstellen, mit dem der Benutzer in Java INT/Doppel eingeben kann?
-
22-09-2019 - |
Frage
Ich suche nach einer Möglichkeit, sicherzustellen, dass mein Textfeld (JTextField, JFormattedTextField) eher ein Doppel oder eine int als eine Zeichenfolge zurückgibt, wenn ich .GIETTEXT () aufrufe. Was ist der beste Weg, dies zu tun (wenn möglich)?
Vielen Dank!
Badpanda: d
Lösung
Registrieren Sie InputVerifier und Anrufmethode
getValue
ausJFormattedTextField
public class FormattedTextFieldVerifier extends InputVerifier { public boolean verify(JComponent input) { if (input instanceof JFormattedTextField) { JFormattedTextField ftf = (JFormattedTextField)input; AbstractFormatter formatter = ftf.getFormatter(); if (formatter != null) { String text = ftf.getText(); try { formatter.stringToValue(text); return true; } catch (ParseException pe) { return false; } } } return true; } public boolean shouldYieldFocus(JComponent input) { return verify(input); }
}
Andere Tipps
Ich würde die Eingabe im Textbox -Rückruf überprüfen und einfach das Kontrollkästchen rot machen oder eine Warnmeldung in der Nähe erstellen. Sie können das nicht numerische Zeichen aus der Textbox-Zeichenfolge entfernen.
Verwenden JFormattedTextfield.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow