不能在另一个文件夹中包含FXML文件

时间:2013-07-19 19:07:10

标签: java javafx fxml scenebuilder

我有一个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保存在与父文件夹相同的文件夹中,并且它可以正常工作。

请帮忙!

2 个答案:

答案 0 :(得分:0)

看起来像这个问题:Error loading fxml files from a folder other than the bin folder是关于同样的问题。从那里开始,看看是否对你有帮助。

答案 1 :(得分:0)

试试这个

FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/Custom.fxml"));