我想绑定Button可见属性,以便当ListNumber为Button是可见的。ListNumberint

我有一个,如果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()

09-28 05:25