Ao gerar .JAR, perde imagem do panel

Olá pessoal, sempre pesquisei aqui, mas é a primeira vez que pergunto…

Seguinte, tenho uma aplicação desktop que estou fazendo pelo NetBeans, e preciso gerar o .jar para o cliente.

Ao geraro .jar o seu funcionamento é perfeito.

O problema é: Minha imagem de fundo, na tela de login, não aparece. Fica como se não tivesse nenhuma imagem, mas, lógico que quando executo o projeto pelo próprio NetBeans, a imagem aparece.

Pesquisei um pouco mais não encontrei nada.
Se alguem já estiver passado por isso, ou queira ajudar, agradeceria muito.

Segue o código da classe Login e da classe Fundo(que pinta o painel):

Classe Login.java

public class Login extends JFrame implements KeyListener, ActionListener {
	
	static JTextField loginInput;
	static JPasswordField senhaInput;

	public Login() {

		// Paineis
		Color transparente = new Color(0,0,0,0);
		Image image = new ImageIcon("src/imagens/fundo.png").getImage();
		Fundo fundo = new Fundo(new GridBagLayout(), image);
		GridBagConstraints c = new GridBagConstraints();

		JPanel centro = new JPanel(new FlowLayout());
		centro.setBackground(transparente);

		JPanel paineisCentrais = new JPanel(new GridLayout(2,0));
		paineisCentrais.setBackground(transparente);
		JPanel painelTextos = new JPanel();
		painelTextos.setBackground(transparente);
		painelTextos.setLayout(new BoxLayout(painelTextos, BoxLayout.PAGE_AXIS));
		JPanel painelButtons = new JPanel(new FlowLayout());
		painelButtons.setBackground(transparente);

		// Labels
		JLabel login = new JLabel("Login");
		JLabel senha = new JLabel("Senha");
		
		// Campos de Texto
        loginInput = new JTextField(15);
		senhaInput = new JPasswordField(15);
		loginInput.addKeyListener(this);
		senhaInput.addKeyListener(this);

		// Botões
        JButton entrarButton = new JButton("Entrar");
		JButton sairButton = new JButton("Limpar");
		entrarButton.addActionListener(this);
		//sairButton.addActionListener(this);
        sairButton.setEnabled(false);

		// Adicionando nos JPanels
        painelButtons.add(entrarButton);
		painelButtons.add(Box.createRigidArea(new Dimension(10, 50)));
		painelButtons.add(sairButton);

		painelTextos.add(login);
		painelTextos.add(loginInput);
		painelTextos.add(senha);
		painelTextos.add(senhaInput);

		paineisCentrais.add(painelTextos);
		paineisCentrais.add(painelButtons);

		centro.add(paineisCentrais);

		c.insets = new Insets(200, 0, 0, 0);
		fundo.add(centro, c);

		// Adicionando no JFrame - Login
        this.add(fundo);
		this.setTitle("SCE .:. Sistema de Controle de Estoque");
		this.setSize(350, 400);
		this.setLocationRelativeTo(null);
		this.setResizable(false);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
	}

    public void logar(){
        String login = loginInput.getText();
        String senha = senhaInput.getText();
        int tipoUsuario=0;
        Usuario usu = new Usuario(login, senha);
        tipoUsuario = MBD.buscarTipoUsuario(usu);

        if((tipoUsuario== 1)||(tipoUsuario==2)){
            Principal  pri = new Principal(usu);
            pri.setVisible(true);
            setVisible(false);
        }
    }

	public void keyPressed(KeyEvent e) {
		if (e.getKeyCode() == KeyEvent.VK_ENTER){
            logar();
        }
	}

	public void keyReleased(KeyEvent e) {}
	public void keyTyped(KeyEvent e) {}

	@Override
	public void actionPerformed(ActionEvent e) {
		logar();
	}

    public void actionPerformedLimpar(ActionEvent e) {
		loginInput.setText("");
        senhaInput.setText("");
	}


    public static void main(String[] args) {
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
            	new Login();
            }
        });
	}

}

Classe Fundo.java

public class Fundo extends JPanel {
	private static final long serialVersionUID = 4207266224348163019L;
	private Image image;

	public Fundo(LayoutManager l, Image image) {
		super(l);
		this.image = image;
	}

	@Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		if (image != null) g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
	}
}

Obrigado!

Cara, vc precisa usar essa chamada aqui

getClass().getResource(path);

Para pegar a imagem a partir do classpath, ou seja, no projeto a partir do diretório
onde está as classes compiladas (bin, classes, etc).

E na string onde define o caminho, remove o ‘src’. Usa algo assim:

getClass().getResource("/imagens/fundo.png");