我有一个带有文本字段和按钮的简单 fxml。如果文本字段为空,我想禁用按钮。所以我在我的 Controller 中插入如下内容:
@Override
public void initialize(URL url, ResourceBundle bundle) {
button.disableProperty().bind(textField.textProperty().isEqualTo(""));
}
.. 效果很好。问题是当我添加第二个文本字段并希望在任一文本字段为空时禁用我的按钮。那怎么办?我尝试了以下方法,但这不起作用:
@Override
public void initialize(URL url, ResourceBundle bundle) {
button.disableProperty().bind(textField.textProperty().isEqualTo(""));
button.disableProperty().bind(textField2.textProperty().isEqualTo(""));
}
最佳答案
这可以通过 Bindings
绑定(bind)到一个 boolean 表达式来实现:
button.disableProperty().bind(
Bindings.and(
textField.textProperty().isEqualTo(""),
textField2.textProperty().isEqualTo("")));
关于JavaFX 绑定(bind)到多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264480/