我有一个使用Gradle构建工具的JavaFX项目。什么是构造src/main/resources
文件夹的正确方法,以便我可以通过简单的代码行轻松访问*.fxml
和*.css
:
Parent root = FXMLLoader.load(getClass().getResource("xxx.fxml"));
我在this tutorial中将Gradle插件和
build.gradle
文件用于JavaFX,它具有一个简单的项目树,如下所示:.
├── src.main
| ├── java
| | ├── org.openjfx
| | | ├── MainApp.java
| | └── └── FXMLController.java
| ├── resources
| | ├── org.openjfx
| | | ├── scene.fxml
└── └── └── └── styles.css
这样,
MainApp.java
可以使用scene.fxml
加载getResource("scene.fxml")
。但是,如果
java
和resources
目录结构不匹配,请假设我的项目树是这样的,以便我可以将fxml
文件和css
文件分开:.
├── src.main
| ├── java
| | ├── org.openjfx
| | | ├── anotherPackage
| | | | ├── MainApp.java
| | └── └── FXMLController.java
| ├── resources
| | ├── org.openjfx
| | | ├── layouts
| | | | ├── scene.fxml
| | | ├── styles
└── └── └── └── └──styles.css
现在
MainApp.java
必须使用scene.fxml
加载getResource("../layouts/scene.fxml")
我是Gradle和JavaFX的新手,我想知道什么是管理资源(包括fxml,CSS和图片等)的正确方法。
ps。抱歉,如果我问的问题不正确。
最佳答案
iirc,资源目录结构应镜像包结构。看看https://www.eviltester.com/2017/12/resource-files-for-tests-java-maven.html
关于java - Gradle + JavaFX-构建 'resources'目录的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55776507/