1

给定某个 Java 对象,我想在运行时生成一个可视化界面来配置它的某些属性。在这个生成的界面中配置的对象属性可以用注释来指定。它们可以是原始类型(或其包装器)+ 字符串和数组或这些类型的集合。配置特定属性的可视组件的类型取决于此类属性的类型(例如,布尔值可以配置为只有两种选择的列表视图)。

Java 中是否已经存在用于执行此操作的库?我在我的应用程序中使用 JavaFX,我不希望它已经存在于这个框架中(但我会很高兴错了)。但是,如果存在这样的 Swing 库,我可以将它嵌入到我的 JavaFX 接口中。

4

1 回答 1

2

SceneBuilder肯定内置了一个可视对象属性编辑器,但不幸的是它不是一个开源项目,而且我不知道有任何纯 JavaFX 开源项目具有丰富的功能。因此,如果您想要一个纯 JavaFX 解决方案,请准备好自己进行一些编码。

这样做的一个基本方法是使用 TableView,内省对象成员的类型(或注释或JavaFX 构建器,如果您愿意),并作为内省的基础,使用单元工厂生成单元节点来处理显示和编辑 TableView 中显示的单元格。

以下是JavaFX 属性编辑器的一些示例代码,用于几个基本类型(字符串和布尔值),取自JavaFX TableView 一列中的多个组件的答案。

JavaFX 包含一些基本单元工厂的库,可以作为构建解决方案的构建块。

DataFX包含一些代码,用于从各种数据源(如 Java Bean、JDBC、XML、CSV 等)生成 UI 控件单元工厂。

您可能想查看执行“自动生成表单并绑定到 bean 属性”的FXForm2 项目

正如您所提到的,如果存在执行此操作的 Swing 库(我确信确实存在,尽管我对 Swing 库不够熟悉,不知道它是什么),您应该能够将它嵌入到 JavaFX 接口中(如果您使用Java 8 的 SwingNode)。

于 2013-05-27T21:03:39.487 回答