克隆 JavaFX 节点?

2022-09-04 22:35:42

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

我在JavaFX 2.0中看到了Replicate/Clone Node,但我需要在不重新加载fxml的情况下克隆。Node

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


答案 1

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

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

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


答案 2

JavaFX平台中没有这样的节点复制函数,您需要编写自己的函数,该函数会自省您有兴趣克隆的节点的属性,并创建一个具有所需属性的新节点。

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