Картина в jar файле

173
09 мая 2018, 05:12

Как правильно добавить картинку в проект java. При отладке картинка отображается, но после сборки проекта в jar, картинки нет.

systemTray = SystemTray.getSystemTray();
    Image image = Toolkit.getDefaultToolkit().getImage("src\\images\\logo-main2.png");

    TrayIcon trayIcon = new TrayIcon(image , "GrindFM", popupMenu);
    trayIcon.setImageAutoSize(true);
    systemTray.add(trayIcon);

Answer 1

Проблема в том, что вы загружаете ресурс с диска, а не с jar'ника. Когда вы работаете в dev окружении, вы запускаете jar'ник оттуда, откуда можно пройти по папкам на диске и дойти до этой картинки. Когда вы запускаете это на другом ПК, то там соответственно этой папки нет. Вам нужно использовать загрузку ресурсов из classpath, для этого поменяйте код следующим образом

systemTray = SystemTray.getSystemTray();
URL resource = getClass().getResource("images/logo-main2.png");
Image image = Toolkit.getDefaultToolkit().getImage(resource);
TrayIcon trayIcon = new TrayIcon(image , "GrindFM", popupMenu);
trayIcon.setImageAutoSize(true);
systemTray.add(trayIcon);

Все должно заработать

READ ALSO
Что делает точка

Что делает точка

При импорте пакетов в Java, используется следующий синтаксис:

167
Обработка звука [требует правки]

Обработка звука [требует правки]

Посоветуйте пожалуйста библиотеки для работы со звуком (как с волной) в java, python или другихНужны функции изменения частоты, сдвиг по фазе и пр

210
Проход красно-черного дерева в ширину, по уровням

Проход красно-черного дерева в ширину, по уровням

Нигде не могу найти реализацию прохода по красно-черному дереву на javaМне это необходимо для записи сбалансированного дерева

191