Следующий код хорошо работает при работе NetBeans.
this.getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage("PlagiaLyzerIcon.png"));
Однако, после того как это было встроено в файл Банки, значок закончился.
У кого-либо есть идея, какова проблема? Я понял, что должен поместить изображение значка на корневой каталог, однако, после компиляции в JAR, значок, который уводят.
Спасибо за любую справку...
Привет все, проблема была решена со следующим кодом,
this.getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getClassLoader().getResource("plagialyzer/resources/PlagiaLyzerIcon.png")));
Это работает когда-то скомпилированное в файл банки.
Используйте вместо него
this.getFrame().setIconImage(
new imageIcon(getClass().getClassLoader().getResource("PlagiaLyzerIcon.png"))
);
.
Примечание:
эта строка работает, только если изображения находятся в корне файла jar. Если нет, вы должны указать папку в строке:
getResource("yourfolder/PlagiaLyzerIcon.png")
Вы указали путь сборки к вашим значкам в параметрах Netbean перед экспортом JAR? В Eclipse это делается путем добавления исходной папки в путь сборки Java, как показано на этом снимке экрана . Должно быть так же и в Netbeans?
Это потому, что IDE Netbeans имеет другой путь к классам, чем при автономном запуске jar-файла (без Ant).
Предположим, ваш проект Netbeans находится в местоположении / project /
:
Путь к классам: / project / build / classes /
и корень проекта / project /
. Если ваши значки хранятся в: / project / myicons /
, то они являются частью пути к классам, поскольку / project /
тоже. Но когда вы собираете свой проект, только файлы в / project / build / classes /
в конечном итоге попадут в jar-файл, эти файлы «build» из / projcet / src /
].
Решение:
Переместите ваши значки в пакет с исходным кодом: / project / src / myicons /
Или добавьте папку / project / myicons /
в исходный код ( щелкните правой кнопкой мыши свой проект -> Свойства -> Источники -> добавьте туда свою папку)