JavaFX Nur Zahlen in Textfield

Daniel_84

Mitglied
Hallo,

ich bin gerade dabei mein mit Java begonnenes Projekt nach JavaFX umzuziehen.
Ich nutze dazu Eclipse Luna und den Scene Builder 2.0.

Soweit klappt auch alles ganz gut nur habe ich bei meinen Textfeldern ein Problem.
Im alten Code habe ich das so gelöst:


Code:
char c = event.getKeyChar();

       
        if (!(Character.isDigit(c)) || (c == KeyEvent.VK_BACKSPACE)||(c == KeyEvent.VK_DELETE))
            {
            event.consume();
            }

Leider klappt das mit meinen Textfeldern in JavaFX nicht mehr.
Hab schon den ganzen Tag gegoogelt und gesucht aber bin auf keine Lösung gestoßen die ich als Anfänger auf anhieb verstanden hätte und die ich zum laufen gebracht hätte.

Ich hoffe ihr könnt mir helfen

Vielen Dank
Daniel
 

Maggot

Bekanntes Mitglied
Hallo.

Du könntest einen Listener deinem Textfield hinzufügen, der zu ausschaut:

Java:
text.textProperty().addListener(new ChangeListener<String>() {
    @Override public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
        if (newValue.matches("\\d*")) {
            int value = Integer.parseInt(newValue);
        } else {
            text.setText(oldValue);
        }
    }
});

Quelle: http://stackoverflow.com/questions/...ded-way-to-make-a-numeric-textfield-in-javafx
 
Zuletzt bearbeitet von einem Moderator:

Tom299

Bekanntes Mitglied
Du kannst auch eine eigene Komponente erstellen, z.B:

Java:
package de.test;

import javafx.scene.control.TextField;

public class NumberTextField extends TextField {

    @Override
    public void replaceText(int start, int end, String text) {
        if (validate(text)) {
            super.replaceText(start, end, text);
        }
    }

    @Override
    public void replaceSelection(String text) {
        if (validate(text)) {
            super.replaceSelection(text);
        }
    }

    private boolean validate(String text) {
        return ("".equals(text) || text.matches("[0-9]"));
    }
   
}

Einzigstes Problem (was man aber bestimmt lösen kann), mit dem SceneBuilder kannste dann dein FXML nicht mehr öffnen, da er die Komponente nicht kennt. Aber für den SceneBuilder kann man
ja kurz auf normales TextFeld umstellen, und wenn alles paßt wieder die eigene Komponente einsetzen.
 

Daniel_84

Mitglied
Danke für die Antworten.

Habe jetzt noch ein bisschen selbst probiert und bin zu folgender Lösung gekommen:

Code:
@FXML public void textfeld_1_keytyped(KeyEvent event){
     
        if (!event.getCharacter().matches("\\d"))
            {
            event.consume();
            }

So funktioniert des genauso wie ich mir des vorstelle.

Danke und Grüße
Daniel
 

iliano

Mitglied
Hallo.

Und wie gebe ich ein, dass das TextField Nummern und ein Punkt hat? Und eventuell dass ein Komma Zeichen durch einen Punkt ersetzt wird?
Z.B.: 2.00

Vielen Dank
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B AWT Mit TextField Zahlen einlesen lassen AWT, Swing, JavaFX & SWT 34
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
A Swing nur Zahlen im Spinner(Textfeld) eingeben ! AWT, Swing, JavaFX & SWT 16
E Eingabe von Zahlen in TextArea AWT, Swing, JavaFX & SWT 2
MrSnake Zahlen in Tabellenzelle zentrieren AWT, Swing, JavaFX & SWT 3
R Low-Res OCR einzelner Buchstaben und mehrstelliger Zahlen - Ideen gesucht AWT, Swing, JavaFX & SWT 2
A Mini-Menu-Schriften. Ein Problem bei hohen DPI Zahlen AWT, Swing, JavaFX & SWT 2
N JavaFX Textfeld nur Zahlen und nur von 5 bis 30 AWT, Swing, JavaFX & SWT 11
J Swing JTable cell-ausrichtung für zahlen mit alternierenden zeilenfarben AWT, Swing, JavaFX & SWT 2
J Swing JButton durch Eingabe von Zahlen in JTextFields aktivieren AWT, Swing, JavaFX & SWT 3
C JList: Sortieren von Zahlen AWT, Swing, JavaFX & SWT 4
B Pop-Up eingabe für Zahlen AWT, Swing, JavaFX & SWT 5
S JTable Float Column fuegt automatisch Punkt hinzu wenn man Zahlen eingibt. AWT, Swing, JavaFX & SWT 21
R Zeichnen von Zahlen in BufferedImage AWT, Swing, JavaFX & SWT 6
S Eingabefeld für die Validierung von Zahlen AWT, Swing, JavaFX & SWT 5
D Zahlen mit nullen in einer Tabelle anzeigen AWT, Swing, JavaFX & SWT 2
Y Zahlen aus einer Textarea auslesen AWT, Swing, JavaFX & SWT 2
V Bei Tab, Zahlen im jTextField markieren. AWT, Swing, JavaFX & SWT 2
F kleine Zahlen/buchstaben mit Java darstellen? AWT, Swing, JavaFX & SWT 3
H Eingabe von Zahlen in JTable und Fokusweitergabe AWT, Swing, JavaFX & SWT 4
S Textfeld mit zahlen AWT, Swing, JavaFX & SWT 3
J JSpinner mit zahlen AWT, Swing, JavaFX & SWT 10
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
K Zahlen eingeben AWT, Swing, JavaFX & SWT 7
J [JFormattedTextField] Nur Zahlen eingebbar AWT, Swing, JavaFX & SWT 3
F Probleme mit Passwortfeld und Zahlen (SWT) AWT, Swing, JavaFX & SWT 2
Juelin Eingabensteuerung mit Textfield AWT, Swing, JavaFX & SWT 20
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
K JavaFX Taschenrechner textField auf 10stellen begrenzen AWT, Swing, JavaFX & SWT 26
Z textField.getText = null AWT, Swing, JavaFX & SWT 15
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
L Swing Wert vom Textfield in Array List hinzufügen AWT, Swing, JavaFX & SWT 2
R Textfield lässt sich nicht positionieren AWT, Swing, JavaFX & SWT 1
B JavaFX ListView in Kombination mit TextField AWT, Swing, JavaFX & SWT 5
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
Bluedaishi JavaFX JFoenix TextField KeyEvent AWT, Swing, JavaFX & SWT 2
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
F JavaFX textField Ausgabe automatisch kopieren AWT, Swing, JavaFX & SWT 7
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
S JavaFX TextField auf Datentyp prüfen AWT, Swing, JavaFX & SWT 1
M JavaFX .setCellFactory () mit TextField AWT, Swing, JavaFX & SWT 4
L TextField Listener AWT, Swing, JavaFX & SWT 13
L TextField Eingabe in andere GUI übernehmen AWT, Swing, JavaFX & SWT 1
C JavaFX mit .setText() befülltes Textfield liefert anschließend mit .getText() den ursprünglichen Wert? AWT, Swing, JavaFX & SWT 1
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
U Java FX Warten auf Textfield eingabe AWT, Swing, JavaFX & SWT 17
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
Y Listview Textfield vergrößern, Schrift anpassen AWT, Swing, JavaFX & SWT 0
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
U Eingabe von TextField in variable speichern AWT, Swing, JavaFX & SWT 2
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
I JavaFX TextField auf Eingabe prüfen AWT, Swing, JavaFX & SWT 3
D Textfield bei starten füllen. AWT, Swing, JavaFX & SWT 5
H Textfield bleibt im Hintergrund AWT, Swing, JavaFX & SWT 2
C JavaFX Zugriff auf TextField aus einer anderen Klasse AWT, Swing, JavaFX & SWT 4
P LayoutManager TextField.setSize(); in einem FlowLayout AWT, Swing, JavaFX & SWT 3
T Internes Event-handling in TextField/JTextField AWT, Swing, JavaFX & SWT 2
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
1 Textfield: jede Buchstabe ein Bild AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
S LayoutManager TextField verschwindet / wird klein AWT, Swing, JavaFX & SWT 4
S Button in Textfield ziehen AWT, Swing, JavaFX & SWT 4
T Einen Variablen Wert in einem TextField AWT, Swing, JavaFX & SWT 4
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
F Swing TextField Eingabe in Variable umwandeln um zum Beispiel zu rechnen. AWT, Swing, JavaFX & SWT 3
G JavaFX TextField Eingabe formatieren/einschränken AWT, Swing, JavaFX & SWT 2
C Integer in ein Textfield schreiben. AWT, Swing, JavaFX & SWT 4
P TextField beim klicken von JButton speichern AWT, Swing, JavaFX & SWT 17
C Swing TextField auslesen AWT, Swing, JavaFX & SWT 21
MiMa Integer Zahl in Textfield ausgeben AWT, Swing, JavaFX & SWT 12
K Per Textfield Methode ausführen AWT, Swing, JavaFX & SWT 6
B JComboBox ans Textfield gelangen AWT, Swing, JavaFX & SWT 4
A Größe von Textfield bestimmen AWT, Swing, JavaFX & SWT 9
S JButton und textfield.setText - Komponenten über-/verdecken sich AWT, Swing, JavaFX & SWT 15
T jPanels im jFrame bewegen - Auch ohne Textfield? AWT, Swing, JavaFX & SWT 4
R Textfield auslesen auf Anforderung AWT, Swing, JavaFX & SWT 4
A Button und Textfield AWT, Swing, JavaFX & SWT 4
A TextField und Label AWT, Swing, JavaFX & SWT 8
H gui textfield AWT, Swing, JavaFX & SWT 5
A TextField: Textfeld teilweise editierbar AWT, Swing, JavaFX & SWT 2
R TextField auslesen & in Objekteigenschaften speichern AWT, Swing, JavaFX & SWT 22
E Button in TextField eibetten? AWT, Swing, JavaFX & SWT 4
Screen Focus Problem , KeyListener, TextField , Key AWT, Swing, JavaFX & SWT 4
W textfield zentriert AWT, Swing, JavaFX & SWT 2
N Swing Textfield listener AWT, Swing, JavaFX & SWT 2
H Zeich in einem TextField farblich markieren?! AWT, Swing, JavaFX & SWT 5
D Swing [BoxLayout] Nur TextArea und nicht TextField vergroessen AWT, Swing, JavaFX & SWT 2
D Textfield auswerten AWT, Swing, JavaFX & SWT 4
M Swing InputVerifer auf TextField AWT, Swing, JavaFX & SWT 14
B setText() auf TextField mit Document AWT, Swing, JavaFX & SWT 2
G Problem mit Textfield AWT, Swing, JavaFX & SWT 2
G Den Inhalt von einem Textfield aktualisieren AWT, Swing, JavaFX & SWT 6
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G TextField im Hintergrund AWT, Swing, JavaFX & SWT 2
Z TextField aus ActionListener von JButton verändern AWT, Swing, JavaFX & SWT 10
O ComboBox hinter TextField? AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben