2

我有一个 FXML 文件,我想将它包含在另一个文件中。问题是,它位于另一个文件夹中。现在,当我将完整路径分配为:

<fx:include source="/applicationName/folder1/folder2/anFXMLFile.fxml"/>

父 fxml 文件看到它,Nebeans 甚至允许我按 CTRL+单击打开文件进行编辑。

但是,当我双击父文件场景构建器时不会打开它。

尝试在 Scene Builder 中加载它时遇到的错误是:

Error loading file       
'C:/Users/user/Documents/NetBeansProjects/Application/src/application/staff/view/NewStaff.fxml'.
 C:\Users\user\Documents\NetBeansProjects\Application\src\application\staff\view\NewStaff.fxml:23: error: 
java.lang.IllegalStateException: Location is not set.

我真的不确定发生了什么。

我的动机是:包含的 FXML 文件代表诸如“个人信息”、“地址”之类的东西,我可以与多个实体(如人员、员工、位置等)重复使用这些表单。

通过将 FXML 文件放在一个地方并将它们包含在其他 fxml 文件中,我希望能够进行一些代码重用。就这样。我可以将所有包含的 fxml 保存在与父级相同的文件夹中,并且工作正常。

请帮忙!

4

2 回答 2

0

看起来像这个问题:从 bin 文件夹以外的文件夹加载 fxml 文件时出错是关于同样的问题。从那里的东西开始,看看是否对您有帮助。

于 2013-07-22T23:22:12.970 回答
0

像这样试试

FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/Custom.fxml"));
于 2013-12-27T02:30:18.703 回答