У меня есть проект JavaFX со встроенным инструментом Gradle.Как правильно создать папку src/main/resources
, чтобы я мог легко получить доступ к *.fxml
и *.css
по простой строке кода:
Parent root = FXMLLoader.load(getClass().getResource("xxx.fxml"));
Я использую 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
file:
.
├── 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.Извините, если я не правильно задаю вопрос.