如果 TextField 为空,如何禁用按钮?

Dyl*_*lan 2 text if-statement javafx textfield

我无法禁用我的按钮。在下面的代码中,acceptis aButtonemailis a TextField

email.setOnAction(ae -> {
    if(!email.getText().isEmpty()) {
        accept.setDisable(false);
    } else
        accept.setDisable(true);
});
Run Code Online (Sandbox Code Playgroud)

如果我在文本字段中写,它不会做任何事情。

小智 6

按照 Zephyr 的回答,您可以直接将其绑定到您的按钮中:

button1.disableProperty().bind(Bindings.isEmpty(textField1.textProperty()));
Run Code Online (Sandbox Code Playgroud)

或者,如果您想在多个文本字段为空时禁用按钮:

button1.disableProperty().bind(
    Bindings.isEmpty(textField1.textProperty())
        .or(Bindings.isEmpty(textField2.textProperty()))
        .or(Bindings.isEmpty(textField3.textProperty()))
);
Run Code Online (Sandbox Code Playgroud)