【发布时间】:2014-06-05 07:52:21
【问题描述】:
BooleanBinding bb = new BooleanBinding() {
{
super.bind(addnum.textProperty(),addt1.textProperty(),addt2.textProperty(),
addt3.textProperty(),addasg.textProperty(),addatt.textProperty());
}
@Override
protected boolean computeValue() {
return (addnum.getText().isEmpty() && addt1.getText().isEmpty()
&& addt2.getText().isEmpty() && addt3.getText().isEmpty()
&& addasg.getText().isEmpty() && addatt.getText().isEmpty());
}
};
final Button b2 = new Button("Add");
b2.disableProperty().bind(bb);
这是我在 TextFields 为空时禁用 Button 的代码,即当所有 TextField 都被填充时,Button 变为活动状态。但是这段代码不起作用。当一个 TextField 被填充时,Button 变为活动状态。我曾在我项目的其他部分出于同样的目的使用此代码,添加它在那里工作正常。为什么它在这里不起作用?
【问题讨论】:
-
所以你的问题是代码完全按照它应该做的?如果一个 TextField 不为空,那么显然并非所有 TextField 都是空的,因此该按钮不应再被禁用,即它应该处于活动状态。还是我做错了什么?
-
@fabian 只有当所有 TextFields 都不为空时,该按钮才会变为活动状态。
标签: button javafx javafx-2 textfield