Прошу прощения за подъём старых тем.
Здравствуйте.
Возникла такая-же проблема, воспользовался предложенным методом. При:
URL myIconUrl = DisabledLabelTest.class.getResource("BV.jpg");
if(myIconUrl != null)
{
myIcon = new ImageIcon(myIconUrl);
}
URL myDisIconUrl = DisabledLabelTest.class.getResource("BV_dis.jpg");
if(myDisIconUrl != null)
{
myDisIcon = new ImageIcon(myDisIconUrl);
}
и картинках лежащих в одной папке с .class файлами, всё работает. JAR запускается и видит картинки.
Но если, в попытке организовать JAR получше, картинки перенесены в другое место и адреса их поиска соответственно изменены, программа их не видит. Например:
URL myIconUrl = DisabledLabelTest.class.getResource("..\\img\\BV.jpg");
if(myIconUrl != null)
{
myIcon = new ImageIcon(myIconUrl);
}
URL myDisIconUrl = DisabledLabelTest.class.getResource("..\\img\\BV_dis.jpg");
if(myDisIconUrl != null)
{
myDisIcon = new ImageIcon(myDisIconUrl);
}
содержимое JAR-файла:
META-INF/MANIFEST.MF
.classpath
main/DisabledLabelTest$1.class
main/DisabledLabelTest$2.class
main/DisabledLabelTest$3.class
main/DisabledLabelTest.class
main/DisabledLabelTest.java
.project
img/
img/BV.jpg
img/BV_dis.jpg
Так ничего не работает. Но, если распаковать содержимое JAR-файла в какую-нибудь директорию и запускать консольно, то всё работает.
Ничего не понимаю (
Может кто-нибудь в курсе, как можно решить проблему?