"Beans"的 JavaBeanBooleanPropertyBuilder 没有 setter

标签 java javafx properties binding javafx-8

我找到了这个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/

相关文章:

image - 通过代码在ImageView中加载图片

java - 无法使用 FXMLLoader#setRoot

c# - 属性的访问修饰符;为什么以下不起作用?

java - Hadoop 纱作业 : Wrong FS

java - 是否有任何方便的代码覆盖工具可与 JUnit 一起使用?

java - Java 1.7 xml 上的 ReSTLet 客户端解析错误 "FEATURE_SECURE_PROCESSING: Cannot set the feature to false when security manager is present."

JAVAFX - 加载 fxml 文件时未设置位置引起的异常

javascript - 使用 javascript 读取属性文件

java - 由于属性文件位置类型,应用程序或集成测试 Spring 上下文创建失败

java - 图像不会绘制到动画