Szövegbevitelre a következő kontrollok alkalmasak:
Szöveg figyelése:
textField1.textProperty().addListener((observable, oldValue, newValue) -> { });
Mindenegyes beírt karaktert meg tudunk vizsgálni. Az oldaValue változóban megkapjuk az eredeti tartalmat, a newValue változóban a változás utáni tartalmat.
Vizsgáljuk meg, hogy a beírt szöveg az angol ábécé betűiből áll:
textField1.textProperty().addListener((observable, oldValue, newValue) -> { if (!newValue.matches("[a-zA-Z]")) { if(!textField1.getStyleClass().contains("error")) { textField1.getStyleClass().add("error"); } return; }else { textField1.getStyleClass().remove("error"); } });
A bevitt szöveg legyen nagybetűs.
textField1.textProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { textField1.setText(newValue.toUpperCase()); // A kurzor pozíciójának megtartása a setText után int caretPosition = field.getCaretPosition(); textField1.positionCaret(caretPosition); } });