Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加<;fx:root>;组件作为FXML中的子组件?_Java_Javafx_Parent Child_Fxml - Fatal编程技术网

Java 如何添加<;fx:root>;组件作为FXML中的子组件?

Java 如何添加<;fx:root>;组件作为FXML中的子组件?,java,javafx,parent-child,fxml,Java,Javafx,Parent Child,Fxml,我有一个自定义组件,它扩展了AnchorPane,如下所示: public class CustomAnchorPane extends AnchorPane { } 我想在边框窗格中加载此内容。如果我想加载一个常规的锚泊烷,我会这样做:(为了简洁,我删除了一些行) 我知道构造用于可重用/自定义组件。但是,我不知道如何将其设置为边框窗格的子项,因为我认为它必须是FXML文件的根。因此,下面抛出一个错误: 正确的方法是什么 提前感谢。仅作为fxml的根才有意义,因为这是使用从fxml创建

我有一个自定义组件,它扩展了AnchorPane,如下所示:

public class CustomAnchorPane extends AnchorPane { }
我想在
边框窗格
中加载此内容。如果我想加载一个常规的
锚泊烷,我会这样做:(为了简洁,我删除了一些行)


我知道
构造用于可重用/自定义组件。但是,我不知道如何将其设置为
边框窗格
的子项,因为我认为它必须是FXML文件的根。因此,下面抛出一个错误:


正确的方法是什么

提前感谢。

仅作为fxml的根才有意义,因为这是使用从fxml创建的对象的父对象的唯一位置,而不是在fxml本身中定义的

它只会使
fxmloader
使用使用
setRoot
传递的对象,而不是为此标记本身创建一个元素

假设您已经正确实现了自定义
节点
,您可以像使用任何其他元素一样使用它:


请注意,这需要在文件开头的处理指令中进行适当的导入,并且类需要提供一个不带参数的
public
构造函数

如果您没有自己创建自定义类,但是有一个fxml文件要在特定的播放中使用,那么您也可以使用
fx:include


仅作为fxml的根才有意义,因为这是使用从fxml创建的对象的父对象的唯一位置,但未在fxml本身中定义

它只会使
fxmloader
使用使用
setRoot
传递的对象,而不是为此标记本身创建一个元素

假设您已经正确实现了自定义
节点
,您可以像使用任何其他元素一样使用它:


请注意,这需要在文件开头的处理指令中进行适当的导入,并且类需要提供一个不带参数的
public
构造函数

如果您没有自己创建自定义类,但是有一个fxml文件要在特定的播放中使用,那么您也可以使用
fx:include



Ahh,我不知道您可以直接导入自定义组件并使用它!这非常简单和强大,谢谢。啊,我不知道你可以直接导入自定义组件并使用它!这很简单,也很强大,谢谢。