Загрузить изображение вне src-Folder: NullPointerException - PullRequest
0 голосов
/ 13 февраля 2019

Я пробовал разные варианты загрузки изображений в JavaFX.

Два варианта работы.Пример здесь:

Изображение в том же пакете als Main:

    new Image(getClass().getResourceAsStream("gesicht.png");

Изображение в img-Package, но внутри папки src:

    Image img = new 
    Image(getClass().getResource("../img/gesicht.PNG").toExternalForm());

Последний вариант делаетне работает и я не понимаю почему.Может кто-нибудь объяснить мне как?

Изображение в папке img, вне папки src

      Image img = new Image(ClassLoader.getSystemResource("../../img/gesicht.png").toExternalForm());

Я все перепробовал.Но как только изображение находится вне папки src, я всегда получаю исключение NullPointerException или неверный URL-адрес

Структура папки:

project

  • src

    • приложение
      • Main.java
  • img

    • gesicht.png

Project-Structure со всеми вариантами

Ответы [ 2 ]

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

У меня есть решение:

  1. Добавить img-Folder в качестве resource-Folder
  2. getResource () не работает!Но:

Image img = new Image ("file: img / gesicht.png");primaryStage.getIcons (). add (img);

Альтернатива: Image image = new Image (новый файл ("img / gesicht.png"). toURI (). toString ());

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

Необходимо убедиться, что папка img является папкой ресурсов.затем:

Image img = new Image(getClass().getResource("/img/gesicht.png").toExternalForm());

Я думаю, что относительный путь начинается с корня, а не от того, где находится исходный файл.

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