【问题标题】:JavaBeanBooleanPropertyBuilder for "Beans" without setters没有设置器的“Beans”的 Java Bean 布尔属性构建器
【发布时间】:2019-09-28 15:50:46
【问题描述】:

我发现此post 用于将Java Bean 作为属性绑定与现有JavaFX 属性连接。绑定应该以布尔属性为目标:

class MyClass {

    private boolean loaded;

    public boolean isLoaded() {

        return loaded;
    }

    // Value changed internally
}

对于真正的 bean,意味着具有以下设置器的 bean 就像一个魅力。但我的问题是 没有用于加载的属性的设置器,只是因为它是在内部设置的,不应该为外部类修改

BooleanProperty loadedProeprty = new JavaBeanBooleanPropertyBuilder()
    .bean(bean)
    .name("loaded")
    .getter("isLoaded")
    .build();

有没有办法为这种“bean”没有设置器创建一个属性?现在我只为预期的二传手MyClass.setLoaded(boolean) 得到一个NoSuchMethodException

【问题讨论】:

    标签: java javafx properties binding javafx-8


    【解决方案1】:

    请改用ReadOnlyJavaBeanBooleanPropertyBuilder

    JavaFX 中的普通属性始终是读/写的,因此需要一个 setter。只读变体创建只读属性,因此不需要 setter。

    【讨论】:

    • 对为什么这会解决问题的一些解释将使这成为一个更好的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多