如何在TextField中的文本更改时获取事件?JavaFX的

voi*_*oid 11 events javafx textfield

每当TextField的文本发生变化时,如何生成新事件来处理?

Jam*_*s_D 15

使用TextFields 注册一个监听器textProperty:

textField.textProperty().addListener((obs, oldText, newText) -> {
    System.out.println("Text changed from "+oldText+" to "+newText);
    // ...
});
Run Code Online (Sandbox Code Playgroud)


Ist*_*tso 15

或使用ChangeListener界面.

textField.textProperty().addListener(new ChangeListener<String>() {
    @Override
    public void changed(ObservableValue<? extends String> observable,
            String oldValue, String newValue) {

        System.out.println(" Text Changed to  " + newValue + ")\n");
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 如果你想捕捉 Enter 键,我相信你需要 `setOnAction`;我的理解是,默认情况下,在文本字段中按 Enter 键会通过调用已注册的操作(如果有)来“提交”表单。 (4认同)