Gradle + JavaFX - Как правильно создать каталог 'resources'? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть проект 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.Извините, если я не правильно задаю вопрос.

1 Ответ

1 голос
/ 21 апреля 2019

iirc, структура каталога ресурсов должна отражать структуру пакета. взгляните на https://www.eviltester.com/2017/12/resource-files-for-tests-java-maven.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...