克隆JavaFX节点?

Sha*_*vid 13 java clone javafx duplicates scenebuilder

我在JavaFX场景构建器中创建了一个Node(AnchorPane),并想知道如何克隆它.

在JavaFX 2.0中看到了Duplicate/Clone Node,但是我需要克隆它Node而不重新加载fxml.

有没有办法在JavaFX 2中实现这一点?

Pet*_*erg 5

您可以将需要复制的组件放在单独的.fxml文件中。

然后,您可以根据需要多次加载单独的文件,将节点添加到主场景中的相应根目录。

另外,您可以将<fx:include source="..."/>元素编辑到主.fxml文件中,并包括单独的.fxml文件。然后,您仍然可以在JavaFX Builder中使用它。


jew*_*sea 3

JavaFX 平台中没有这样的节点复制功能,您需要编写自己的节点复制功能,该功能会反思您感兴趣的节点的属性,并创建具有所需属性的新节点。

使用 fxml 模板进行节点定义可能是对具有静态初始化属性的节点执行此操作的最简单方法 - 但是,正如您在问题中所述,您不想为此使用 fxml,因此您必须用 Java 编写克隆逻辑。