Imagem não aparece no botão depois de gerar o projeto num .JAR? onde estou errando?

Oi gente.

Eu estou com um problema depois de gerar o .JAR do meu projeto. Tenho botões onde coloquei imagens, ao rodar pelo eclipse as imagens aparece, porém depois de exportar para o .JAR, as imagens foram nas pastas, porém não aparece nos botões.

Minha estrutura está assim:


     projeto.jar
                   |-codigo 
                         |- pacote1
                                |-tela1.java 
                   |-imagens
                         |- botao.jpg

dentro da tela1.java eu faço assim no botão e funciona no eclipse, mas ao gerar o jar não funciona:


// só assim que funciona no eclipse
... new ImageIcon("/imagens/botao.jpg"); 

e já tentei assim e também não aparece:

//estas não funcionam nem no eclipse
new ImageIcon("imagens/botao.jpg");
new ImageIcon("../imagens/botao.jpg")
new ImageIcon(getClass().getResource("/imagens/botao.jpg")) // assim deu NullPointerException

Como é que você está lendo as imagens? De arquivos, usando getResourceAsStream(), ou de algum outro jeito?

Mostre o código que carrega elas.

Voce usa quals?

new File("imagem.png");

ou

ClassLoader.getResource("imagem.png");

desculpe, vejam acima o post está completo agora, eu estava editando e vocês me responderam muito rápido. :slight_smile:

try it.

ImputStream is = getClass().getResourceAsStream("imagens/botao.jpg");
ImageIcon icon = new ImageIcon(ImageIO.read(is));