同一包中的 JavaFX“Location is required”错误
“java.lang.NullPointerException: Location is required”的错误消息当无法加载 FXML 文件时,可能会发生 JavaFX。即使 FXML 文件与 Application 类位于同一个包中,也可能会出现此问题。
原因:
在某些情况下,例如使用 Maven 时,FXML 文件可能无法正确定位。这是由于 Maven 的资源管理机制导致的。
解决方案:
要解决此问题,请使用 getClassLoader().getResource() 而不是 getClass().getResource () 加载 FXML 文件。此修改可确保使用正确的位置来定位 FXML 文件。
修改的代码:
替换以下行:
<code class="java">Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));</code>
具有以下内容:
<code class="java">Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("main.fxml"));</code>
通过利用 getClassLoader().getResource(), “需要位置”错误的问题应该得到解决。这种修改后的方法考虑了 Maven 的资源管理并允许 FXML 文件成功加载。
以上是在同一包中使用 FXML 时,如何修复 JavaFX 中的“需要位置”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!