我想在某些 javafx 应用程序的 GUI 中包含一个 JavaBeans 浏览器。 我的意思是,它接收遵循 JavaBeans 约定的对象集合作为输入,并允许在树列表中检查它们的属性。 Javafx 存在这样的东西吗?或者至少对于 Swing 来说?
最佳答案
虽然我确信 Swing 存在这样的组件,但我将把我的回答限制在对潜在的基于 JavaFX 的解决方案的讨论。
可以使用 JavaFX 实现 JavaBeans 浏览组件,但这需要一些工作,而且据我所知,没有现成的组件可以执行此操作。
仅进行浏览的解决方案比还允许编辑或双向反射(reflect)属性值的解决方案更容易构建。
基于 JavaFX 的解决方案的起点可能是第 3 方 DataFX项目提到了使用 java beans 作为“数据源”的能力。
JavaFX SceneBuilder应用程序必须在内部做这种事情,但不幸的是它不是开源的。
您可以查看的另一个类似应用程序是 ScenicView ,其中应该包含实现您正在寻求的属性浏览自省(introspection)类型的代码。 ScenicView 可能是开源的。我建议向程序作者询问源代码,因为调整其中的一些代码可能会节省您大量的时间,而不是尝试自己构建类似的解决方案。如果您可以将 ScenicView 从 SceneGraph 特定工具转变为可嵌入到另一个应用程序中的通用对象浏览器,那就太好了。 。 .
JavaFX ScenicView 应用程序的屏幕截图:
另一个关于简单解决方案的有用资源是这篇文章:
关于javafx 的 javabeans 浏览组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443827/