[英]Scene Builder JavaFX Error opening FXML file
我正在制作一个项目并设计 FXML,但有一点我遇到了这个错误
路径错误:
不知道怎么配置
我的 FXMLMain.fxml 代码是:
<center>
<Pane fx:id="pneDashboard" prefHeight="320.0" prefWidth="800.0">
<children>
<fx:include source="/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" />
</children>
</Pane>
</center>
这是主要的错误描述:
引起:java.io.FileNotFoundException: javafxapplication1\\TempratureTab\\FXMLTempraturetab.fxml(系统找不到指定的路径)
我的包结构是
|--->源码包
|--->javafxapplication1
|--->FXMLMain.fxml
|--->TempratureTab(folder)
|--->FXMLtempraturetab.fxml
如果有人能帮我解决这个问题
我什至在不同的操作系统和不同的 Netbeans IDE 版本上尝试过
有趣的事实是它完美地执行......
在编辑模式下,该行没有显示错误..
仅在 SceneBuilder 中。
根据这个(粗体是我的):
<fx:include>
标签从另一个文件中定义的 FXML 标记创建一个对象。 它的用法如下<fx:include source="filename"/>
其中 filename 是要包含的 FXML 文件的名称。 以前导斜杠字符开头的值被视为相对于类路径。 没有前导斜杠的值被视为相对于当前文档的路径。
当您运行应用程序时,您的项目显然在类路径中,这是:
<fx:include source="/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml" />
将被解析为有效的 URL:
"file:/<full-path-of-your-project>/javafxapplication1/TempratureTab/FXMLTempraturetab.fxml"
但是当您使用 Scene Builder 打开 FXML 时,它不知道您的项目,因此无法将其添加到类路径中。 尝试绝对路径将抛出java.io.FileNotFoundException
,因为 FXMLLoader 找不到该文件,因为它将该路径解析为:
"file:javafxapplication1/TempratureTab/FXMLTempraturetab.fxml"
这不是一个有效的 URL。
虽然在运行应用程序时相对路径和绝对路径都有效,但为了从 Scene Builder 打开 FXML 文件,您必须使用相对路径:
<fx:include source="TempratureTab/FXMLTempraturetab.fxml" />
我遇到了同样的问题,经过数小时的反复试验,这里对我有用:
起初,当单击z.fxml
“SceneBuilder”选项卡时,它抛出: java.io.FileNotFoundException
我使用 Gradle [build]
作为我的配置
再次尝试 SceneBuilder 选项卡:现在工作。 看起来(我猜) [build]
更新了类路径(也许听起来很明显,我是 Gradle 和构建工具的新手,所以这就是为什么我没有尝试使用[build]
之前)
除上述之外,我不断遇到当我使用 SceneBuilder 作为独立导入 FXML 文件时它不起作用(可能是一个错误?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.