Empacotando um programa contendo imagens

Estou tendo enormes problemas para empacotar meu programa java que contém imagens em um jar para conversão em um arquivo executável. As imagens foram usadas no fundo do programa e nos botões. Por favor, veja o diagrama abaixo, que mostra o programa que desejo converter em um jar.

IMAGEM

Como você vê acima, o programa roda OK. Eu criei o mesmo programa sem nenhum fundo personalizado e botões personalizados que não continham imagens e o empacotei com sucesso em um jar e subseqüentemente em um arquivo .exe.

Com relação ao desenho do meu background eu estou fazendo isso da seguinte maneira:

public void paintComponent(Graphics g) {
    Image img = new ImageIcon("imgs/Bgnd1.jpg").getImage();
    Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
    setPreferredSize(size);
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(null);
    g.drawImage(img, 0, 0, null);
} 

Com relação à criação dos meus 4 botões personalizados com imagens, estou fazendo o seguinte:

// Prepare rollover images
ImageIcon F1 = new ImageIcon("imgs/btn_f1_not_selected.jpg");
ImageIcon F1rollOver = new ImageIcon("imgs/btn_f1_selected.jpg");

// Create F1 button
final JButton btnF1 = new JButton(F1);
//btnF1.setOpaque(false);
btnF1.setContentAreaFilled(false);
btnF1.setBorder(null);
btnF1.setBorderPainted(false);
btnF1.setFocusPainted(false);
btnF1.setRolloverIcon(F1rollOver);

Eu tentei colocar as imagens na pasta bin e para a criação do plano de fundo eu alterei o método acima com relação à declaração / busca da imagem.

public void paintComponent(Graphics g) {
        String path = "Bgnd11.jpg";
        java.net.URL imgURL = getClass().getResource(path);     
        Image img = new ImageIcon(imgURL).getImage();
        Dimension size = new Dimension(img.getWidth(observer), img.getHeight(observer));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
        g.drawImage(img, 0, 0, null);
}

Eu também tentei buscar as imagens necessárias para a criação dos meus botões, conforme indicado abaixo e, em seguida, passando-os para o meu botão, mas isso não funcionou.

String path = "Bgnd11.jpg";
java.net.URL imgURL = getClass().getResource(path);     
Image img = new ImageIcon(imgURL).getImage();

Como localizar e carregar as imagens?

questionAnswers(1)

yourAnswerToTheQuestion