如果 number<0,则 JavaFX 按钮可见

标签 java javafx binding

我想绑定(bind)一个 Button 可见属性,以便当 ListNumber 为 <0Button 可见。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/

相关文章:

wpf - TabControl.ItemTemplate : set TabItem. Header.Text 到带有 StringFormat 的多重绑定(bind)

java - Selenium - 每个页面都有一个 'next' 按钮,但相同的按钮并不总是指向相同的页面

java - 在基类构造函数中调用虚方法

使用 SWIG 从 Ruby 调用 C 回调

scala - 鼠标单击并悬停在 javafx2 上的奇怪行为

javafx 8 如何使选择框在选择前后看起来相同(无焦点)

c# - MVVM 数据网格绑定(bind)

java - 将 TextView 添加到 LinearLayout 不起作用

java - El Gamal 数字签名构建莫名其妙地失败

JavaFX 折线图点操作