在我的项目中,有许多POJO,它们的字段在JavaFX GUI中显示。我目前使用手动刷新来更新UI - 每当POJO更改时,我调用
我认为我可以使用ReadOnlyJavaBeanObjectPropertyBuilder(yay Java命名?)或ReadOnlyObjectWrapper将对象包装为属性。但是,我想要将标签绑定到的内部字段并未转换为属性。是否有办法进行递归转换 - 将包含普通对象字段的整个对象转换为包含更多属性的属性?这是必要的吗 - 我做错了什么吗?
编辑:我怀疑任何解决方案都必须使用反射。
refresh()
方法。相反,我想尝试使用绑定来完成这项任务,这需要使用JavaFX属性。虽然我可以更改对象,但它的内部字段是其他对象,我无法更改它们(它们使用GSON填充,该填充使用“常规”Java对象 - 例如String,而不是StringProperty)。此外,对象是只读的 - 它只有getter,没有setter。我认为我可以使用ReadOnlyJavaBeanObjectPropertyBuilder(yay Java命名?)或ReadOnlyObjectWrapper将对象包装为属性。但是,我想要将标签绑定到的内部字段并未转换为属性。是否有办法进行递归转换 - 将包含普通对象字段的整个对象转换为包含更多属性的属性?这是必要的吗 - 我做错了什么吗?
编辑:我怀疑任何解决方案都必须使用反射。