2009-02-26 8 views
5

Я экспортирую простой проект java, который включает в себя два каталога; src и иконки. Иконки - это каталог, содержащий три файла .png.Развертывание .jar файла: Почему я не могу загрузить файлы значков?

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

Иконки/picture.png

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

ответ

6

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

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

См. Class.getResource().

4

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