我想绑定Button
可见属性,以便当ListNumber为Button是可见的。ListNumber
是int
。
我有一个,如果ListNumber
我正在Bindings
类中搜索一个好的方法,但是大多数方法都需要ObservableNumberValue
接口。
我不想将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);
}
}
比将其绑定到您的按钮:
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()
。