在我的项目中,我有许多 POJO,其字段显示在 JavaFX GUI 中。目前,我使用手动刷新来更新 UI - 每当 POJO 发生更改时,我都会调用 refresh()
方法。我想尝试使用绑定(bind)来完成此操作,这需要使用 JavaFX 属性。虽然我可以更改该对象,但其内部字段是其他我无法更改的对象(它们使用 GSON 填充,据我所知,它使用“普通”Java 对象 - 例如 String,而不是 StringProperty)。此外,该对象是只读的——它只有 getter,没有 setter。
我相信我可以使用 ReadOnlyJavaBeanObjectPropertyBuilder (是的 Java 命名?)或 ReadOnlyObjectWrapper 将对象包装为属性。但是,内部字段(我想要将标签绑定(bind)到的字段)不会转换为属性。有没有办法进行这样的递归转换——将包含普通对象字段的整个对象转换为包含更多属性的属性?这是否有必要——我做错了什么吗?
编辑:我怀疑任何解决方案都必须使用反射。
最佳答案
关于java - 将 POJO 转换为 JavaFX 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941075/