如何在JavaFX中禁用从textField移动焦点

时间:2016-11-14 14:58:37

标签: javafx

是否有可能将注意力集中在JavaFX中的textField上? 我使用listener对textField进行验证。

textField.textProperty().addListener(
        new ChangeListener<String>() {
        @Override
            public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                if (!validate(newValue)) {
                    textField.setStyle("-fx-text-fill: green;");
                    textField.requestFocus();
                } else {
                    textField.setStyle("-fx-text-fill: black;");
                }
            }
        }
    );

根据textField值的有效性返回布尔值的函数。如果值无效,则将文本颜色更改为RED。然后我想继续关注无效的textField并强制用户更正值。 可以吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

同时使用255属性的侦听器,当它移动到其他位置时,它会收回焦点:

focused