将按钮绑定到多个布尔值javafx

时间:2017-08-21 14:12:49

标签: java user-interface button javafx

我有5个textFields,它们都有我为他们创建的验证器。当字段经过验证并且正确无误后,我调用一个方法将一个组设置为可见:

public void fadeInLabel(Group groupName){
    groupName.setOpacity(0);
    groupName.setVisible(true);
    FadeTransition ft = new FadeTransition(Duration.millis(300), groupName);
    ft.setInterpolator(Interpolator.EASE_OUT);
    ft.setFromValue(0);
    ft.setToValue(1);
    ft.play();
} 

我希望在与这些文本字段的验证器关联的所有组都可见时启用按钮。

我尝试过使用BooleanBinding,但它不允许我绑定一个布尔值 - 我必须绑定一个布尔属性。

编辑: 以下是我尝试的代码,但是返回时出现错误'布尔值无法解除引用'

BooleanBinding accountBind = completeLabel0.isVisible().or(completeLabel1.isVisible());
createButton.disableProperty().bind(accountBind);

1 个答案:

答案 0 :(得分:1)

BooleanBinding accountBind = completeLabel0.isVisible().or(completeLabel1.isVisible());
createButton.disableProperty().bind(accountBind);

应该是

BooleanBinding accountBind = completeLabel0.visibleProperty().or(completeLabel1.visibleProperty());
createButton.disableProperty().bind(accountBind);

假设completeLabel0completeLabel1是某种节点。