Развертывание файла .jar: почему я не могу загрузить файлы значков?

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

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

Иконки/картинка.png

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


person Community    schedule 26.02.2009    source источник


Ответы (2)


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

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

См. Class.getResource()< /а>.

person Michael Myers    schedule 26.02.2009

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

person ThisIsTheDave    schedule 26.02.2009