我在JavaFX场景构建器中创建了一个Node
(AnchorPane
),并想知道如何克隆它。
我看到Duplicate/Clone Node in JavaFX 2.0但我需要克隆Node
而不重新加载fxml。
有没有办法在JavaFX 2中实现这个目标?
答案 0 :(得分:4)
在JavaFX平台中没有这样的节点重复功能,您需要编写自己的内容,对您感兴趣克隆的节点的属性进行内省,并创建具有所需属性的新节点。
使用fxml模板进行节点定义可能是使用静态初始化属性对节点执行此操作的最简单方法 - 但是,正如您在问题中所述,您不希望为此使用fxml,因此您'我必须用Java编写你的克隆逻辑。
答案 1 :(得分:4)
您可以将需要复制的组件放在单独的.fxml
文件中。
然后,您可以根据需要多次加载单独的文件,将节点添加到主场景中的相应根目录。
此外,您可以将<fx:include source="..."/>
元素编辑为主.fxml
文件,并包含单独的.fxml
文件。然后,您仍然可以在JavaFX Builder中使用它。