Развертывание файла .jar. Почему я не могу загрузить файлы значков? - PullRequest
5 голосов
/ 27 февраля 2009

Я экспортирую простой Java-проект, который включает в себя две директории; SRC и иконы. Значки - это каталог, содержащий три файла .png.

Я экспортирую в исполняемый файл .jar, используя File -> Export. Экспорт работает правильно, и файл .jar содержит каталог Icon. Но я не могу получить правильный путь для файлов .png при развертывании проекта. Во время разработки я использую следующий путь:

Иконки / picture.png

и это работает до тех пор, пока я работаю в Eclipse IDE. Как мне получить правильный путь для иконок?

Ответы [ 2 ]

6 голосов
/ 27 февраля 2009

Ваш код ищет изображение вне файла .jar. Попробуйте вместо этого URL-конструктор из ImageIcon.

Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png"));

См. Class.getResource().

4 голосов
/ 27 февраля 2009

mmyers корректно, но помните, что getClass().getResource() будет загружать ресурсы относительно пакета, в котором определен класс . Я подозреваю, что ваши значки упакованы в корне файла JAR, а не по отношению к самому классу. Чтобы получить ресурсы из корня пути к классам, попробуйте: getClass().getClassLoader().getResourceAsStream("Icons/picture.png")

...