当前位置: 首页 > 知识库问答 >
问题:

如何定位fxml文件,使我的JavaFX项目在任何PC上都能轻松运行?

呼延震博
2023-03-14

编辑:我的代码在我的电脑上运行良好。加载我自己的FXML文件没有问题。我希望它也能在其他电脑上工作。

忽略控制台中的错误,这是查找fxml文件的坏方法吗?由于某些原因,这将无法运行在另一台PC上,因为它无法定位fxml文件,尽管我没有提供任何URL从一个文件夹名称开始,只与我的PC相关。

我的意思是,所有fxmlloader URL都从codingWizard包开始,然后从那里继续。为什么这在另一台PC上不起作用?在我朋友的PC上,当它在桌面上时,它说它找不到位置:C:/users/hispc/Desktop/..../codingwizard/....等等。

如果这是包装fxml文件的错误方法,那么正确的方法是什么,这样我就可以为FXMLLoader提供一个URL来在任何其他PC上工作而不需要调整?

共有1个答案

佟寒
2023-03-14

您的FXML文件是资源,在您发布程序后,这些资源很可能不会改变。您应该通过getClass().getResource(“/somename.fxml”)访问它们;

要启用此访问,必须将该文件的位置添加到projects类路径中

最好的方法是按照apache项目的建议,将项目目录结构切换到标准的项目目录布局:https://maven.apache.org/guides/indection/indection-to-the-standard-directory-layout.html

您将IDE配置为使用${project_loc}/src/main/java${project_loc}/src/main/resources作为“源文件夹”(从${project_loc}/src中删除“源文件夹”-属性)

更改后,您可以使用以下代码访问文件${project_loc}/src/main/resources/my.fxml

getClass().getResource("/my.fxml");

您的IDE将把${project_loc}/src/main/resources中的所有文件包含到交付工件中。

 类似资料:
  • 我想知道是否有一个选项可以从表视图将添加到中。 我的程序经常更新 ,因此我想从中删除所有项,并将字符串变量名称添加到中。 我用JavaFX Scene Builder设置了我的程序。我的表有固定的id: cardsTable,我的Colum有id cardsColton。 有什么建议吗?

  • 问题内容: 我想在我的项目中使用真棒字体,但我不知道如何在我的项目中使用真棒字体。 我找到了一些示例,但不能在fxml中使用。 字体真棒javafx 我需要帮助如何在使用fxml的项目中使用它 谢谢。 问题答案: 我认为这是您需要ControlFX的支持,其中包括对字体的出色支持。请参阅javadoc以获取更多信息(但是我有一天对其进行了测试,并且效果很好)

  • 问题内容: 我的Android平板电脑上有运转正常的php服务器,因此我希望它也可以以某种方式运行nodejs。源代码在github上可用,它也可以在linux上构建,但是我真的不明白如何构建它。 提前致谢, 问题答案: 网站上缺少构建说明: 下载它: 打开包装: 转到解压缩的文件夹: 跑 && && 您可能需要像安装一些依赖或者,和第一。 还有一个打包的Android端口,但是似乎没有被积极维护

  • 我使用Netbeans和JavaFx Scene Builder构建了一个JavaFx项目。 在我完成复制粘贴之前,一切工作都很顺利。 这些文件是: 以下是文件:

  • 本文向大家介绍php轻松实现文件上传功能,包括了php轻松实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本文分为五个部分针对php上传文件进行分析讲解,具体内容如下 文件上传变量 将服务器上的临时文件移动到指定目录下 php.ini上传相关配置 error错误号 单文件上传实例 1.文件上传变量 2.将服务器上的临时文件移动到指定目录下 3.php.ini上传相关配置 4.error错

  • 但指定的错误中的位置包含它所引用的文件。谁能解释一下这个错误的原因。是代码问题还是插件问题?