我找到了这个post用于将 Java Bean 作为属性绑定(bind)与现有 JavaFX 属性连接。绑定(bind)应针对 boolean 属性:
class MyClass {
private boolean loaded;
public boolean isLoaded() {
return loaded;
}
// Value changed internally
}
对于真正的 bean ,即带有 setter 的 bean ,以下效果就像一个魅力。但我遇到的问题是加载的属性没有 setter ,只是因为它是内部设置的并且对于外部类不应该修改。
BooleanProperty loadedProeprty = new JavaBeanBooleanPropertyBuilder()
.bean(bean)
.name("loaded")
.getter("isLoaded")
.build();
有没有办法在没有 setter 的情况下为此类“bean”创建属性?现在我只得到了预期 setter MyClass.setLoaded(boolean)
的 NoSuchMethodException
。
最佳答案
改用ReadOnlyJavaBeanBooleanPropertyBuilder
。
JavaFX 中的普通属性始终是读/写的,因此需要一个 setter。只读变体创建只读属性,因此不需要 setter 。
关于 "Beans"的 JavaBeanBooleanPropertyBuilder 没有 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56082635/