Изображения не видны при открытии с помощью банки.После обновления javaFx для создания нового образа необходим полный каталог - PullRequest
0 голосов
/ 04 февраля 2019

После обновления IntelliJ java и javaFx до 11 и Gradle до 5.1.1.При создании нового образа мне нужно указать полный каталог следующим образом:

new Image("file:src/main/java/sample/image.png");

Где раньше я мог просто сделать:

new Image("image.png")

Любая идея, почему проект не распознает мои пакетыправильно для нового Image ("image.png"), оно дает мне эту ошибку, но до обновлений все работало нормально:

java.lang.IllegalArgumentException: Invalid URL or resource not found

Что я хочу сделать, это сделать изображения и fxml видимыми при выполнениибанкаЯ создаю файл jar, и когда я указываю путь, подобный этому, для fxml или изображения:

FXMLLoader loader = new FXMLLoader();
loader.setLocation(new URL("file:src/main/java/sample/login.fxml"));
Pane root = loader.load(); 

Когда я запускаю jar, я получаю:

Caused by: java.io.FileNotFoundException: src\main\java\sample\login.fxml (The system cannot find the path specified)

Как мне сделатьтак что, когда я упаковываю его как банку, он может найти файлы, а также, почему перед обновлением я мог просто написать: новое изображение ("image.png") и теперь мне нужно написать: новое изображение ("файл: src /Основной / Java / образец / image.png ")?Любая помощь будет признательна!

1 Ответ

0 голосов
/ 04 февраля 2019

Настройте папку ресурсов, затем добавьте туда свои изображения.После создания банки, если вы проверите файлы внутри (вы можете сделать это, конвертировав их в zip), и изображений там нет, вы должны сначала включить их.Это можно сделать, включив содержимое каталога при создании артефактов и добавив папку ресурсов: enter image description here

Теперь вы можете добавлять свои изображения в качестве ресурса:

Image image = new Image(getClass().getResourceAsStream("/image.png"));

Также, когда вы открываете свою структуру проекта в модулях, папка ресурса должна быть настроена как папка ресурса: enter image description here

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