При сборке jar пропадает background и иконки
Видел несколько ответов, но они не понятны. У меня программа в IDEA выглядит так

а в jar, собранный Maven (build artifacts), так:
так гружу иконки:
btn_add_to_list.setIcon(new ImageIcon("src\\icons\\create.png"));
btn_del_from_list.setIcon(new ImageIcon("src\\icons\\delete.png"));
так background:
static class Bground extends JPanel{
public void paintComponent(Graphics g){
Image im = null;
try {
im = ImageIO.read(new File("src\\background.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
g.drawImage(im, 0, 0, null);
}
}
setContentPane(new Bground());
Пишут везде, что надо как-то этот путь заменить, что jar их не видит, т.к. они внешние.. а как сделать чтобы увидел, что и где прописать?
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="activation-1.1" level="project" />
<orderEntry type="library" name="jxl-2.6" level="project" />
</component>
</module>
Ответы (1 шт):
Автор решения: mrprogre
→ Ссылка
Надо было создать папку res или resources. Вот так надо делать для кнопок:
btn_del_from_list.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource("res/icons/delete.png"))));
так, для картинок:
ImageIO.read(getClass().getResource("res/background.jpg"));

