我想绑定(bind)一个 Button
可见属性,以便当 ListNumber 为 <0 时 Button
可见。ListNumber
是一个 int
。
我还有另外一个类似的情况,如果 ListNumber<500;
我正在 Bindings
类中搜索一个好的方法,但大多数方法都需要 ObservableNumberValue
接口(interface)。
我不想将 ListNumber
设为 IntegerProperty
。
最佳答案
将 int
设为 IntegerProperty
时没有发现任何问题。您认为封装的用途是什么?您可以像这样实现它:
public class Model {
private IntegerProperty listNumber = new SimpleIntegerProperty();
public int getListNumber() {
return listNumber.get();
}
public IntegerProperty listNumberProperty() {
return listNumber;
}
public void setListNumber(int listNumber) {
this.listNumber.set(listNumber);
}
}
将其绑定(bind)到您的按钮:
Button button = new Button("I'm a Button!");
button.visibleProperty().bind(Bindings.lessThan(0, model.listNumberProperty()));
在所有其他地方只需将此属性用作 int:
int value = model.getListNumber();
即使您使用 listNumber 作为静态变量,也没有什么可以阻止您用静态 getter 包装它。我认为每个 IDE 都有替换/重构功能,因此可以立即将 ListNumber
更改为 getListNumber()
。
关于如果 number<0,则 JavaFX 按钮可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38276380/