在Swing中我们可以做类似
的事情JButton button = new JButton("button") {
public boolean isEnabled() {
return ...condition...;
}
};
因为JavaFX Button的isDisable()/ isDisabled()被声明为final - 有条件地启用或禁用JavaFX按钮的等价物是什么?
答案 0 :(得分:1)
将您的情况表达为ObservableValue<Boolean>
,并执行
button.disableProperty().bind(condition);
例如,如果要在文本字段为空时禁用该按钮,则可以执行
button.disableProperty().bind(Bindings.isEmpty(textField.textProperty()));
或者,如果您仍在使用JavaFX 2.2,
button.disableProperty().bind(new BooleanBinding() {
{ bind(textField.textProperty()); }
@Override
public boolean computeValue() {
return textField.getText().isEmpty() ;
}
});