JavaFX 绑定(bind)到多个属性

标签 java binding javafx

我有一个带有文本字段和按钮的简单 fx​​ml。如果文本字段为空,我想禁用按钮。所以我在我的 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/

相关文章:

css - 无法将 css 文件加载到 osgi 包中

JavaFX ComboBox 不显示 COM 端口

java - 困惑 : @Override cannot be converted to Annotation in java?

c# - WPF - 在 XAML 中绑定(bind)到在代码隐藏中创建的对象

java - eclipse/maven/sonatype war build 在命令行工作,但在 eclipse 中不工作

wpf - VisualCollection 抛出超出范围异常,绑定(bind)到 Observable 集合

java - 无法使用绑定(bind)从 xsd 生成 java 类

JavaFX Tableview 按自定义规则排序,然后按列选择

java - 为什么 JCombobox 不是 AbstractButton 的子类?

java - 尝试解密文件时出现错误