При сборке 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"));
→ Ссылка