Изображение не найдено при запуске в качестве Jar

Я хочу спросить о проблеме в моем проекте: у меня есть класс, который расширяет JFrameи я хочу изменить значок Java в этом кадре на другой значок, используя этот код:

setIconImage(new ImageIcon(getClass().getResource("icon.PNG")).getImage());

я использую NetBeansи когда я запускаю свой проект из NetBeans, он работает нормально, но когда я запускаю его из фляги, он не запускается. Затем, когда я удаляю этот код, мой jar работает нормально со значком Java во фрейме.

Может кто-нибудь сказать мне, что может быть не так с этим кодом?

1 ответ

При запуске файла JAR вы не можете получить доступ к файлам с помощью:

getClass().getResource("...")

Вы должны использовать:

getClass().getResourceAsStream("...")

См.: Загрузка файла с помощью getClass(). GetResource()

Другие вопросы по тегам