Clone JavaFX Node?

Posted

技术标签:

【中文标题】Clone JavaFX Node?【英文标题】: 【发布时间】:2012-12-20 05:58:47 【问题描述】:

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

我看到了Duplicate/Clone Node in JavaFX 2.0,但我需要克隆Node而不重新加载fxml。

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

【问题讨论】:

您找到解决方案了吗? 是的,我很好奇。无需通过不同的 .fxml 文档。请分享 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

JavaFX 平台中没有这样的节点复制功能,您需要自己编写它来检查您有兴趣克隆的节点的属性并创建具有所需属性的新节点。

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

【讨论】:

以上是关于Clone JavaFX Node?的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX:如何更改焦点遍历策略?

将按钮添加到选项卡和选项卡区域 JavaFX

javafx 场景生成器 2.0 中的文件选择器在哪里?我找不到它

JavaFX 自定义图表类 - 如何将节点的 layoutX 和 layoutY 属性绑定到 NumberAxis 的显示位置?

javafx中文API

无法访问类 com.sun.javafx.util.Utils(在模块 javafx.graphics 中)-JavaFX 和 Eclipse