Jar com imagens

Eu criei o meu aplicativo em Java e coloquei no .jar. So que o mesmo, nao esta exibindo as imagens necessarias para alguns icones do meu aplicativo. E necessario algum dado no ClassPath ou algo assim, para funcionar ???

Este eh um exemplo de como colocar uma imagem num botao:

btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/package/nomeimagem.png")));

[quote=“hmichel”]Este eh um exemplo de como colocar uma imagem num botao:

btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/package/nomeimagem.png")));

getResource nao funciona dentro de um JAR !

Vc deve utilizar getResourceAsStream !

Cara, este exemplo é um trecho de codigo da nossa aplicacao. Se nao me engano, até gerada pelo Netbeans.

[quote=“aborges”][quote=“hmichel”]Este eh um exemplo de como colocar uma imagem num botao:

btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/package/nomeimagem.png")));

getResource nao funciona dentro de um JAR !

Vc deve utilizar getResourceAsStream ![/quote]

Tudo bem, mas entao eu devo alterar o codigo do meu aplicativo com algo parecido acima??

Icon io_ic_green = new ImageIcon(this.getClass().getResource("green.png"));

io_bt_desligar.setIcon(io_ic_green);

funciona aqui comigo… boa sorte ai… valeu falou’s…

Rapaz, a dica do Keller me caiu como uma luva. Ontem, passei praticamente todo o dia procurando uma solução para carregar as imagens no meu .jar e não encontrei nada. Hj, por sorte, na minha primeira busca, encontrei esse post.

Bem, no meu caso, tinha algo do tipo:

cutMenuItem.setIcon(new ImageIcon(“images/direta verde.gif”));

Daí, soh precisei alterar para:

cutMenuItem.setIcon(new javax.swing.ImageIcon(getClass().getResource(“images/direta verde.gif”)));

e td funcionou direitinho. Eh isso aí, abraços.

No meu aqui tá dando o mesmo problema.
Se eu executo pelo run do NetBeans ele fnciona direitinho, pega todas as imagens tranquilamente, mas se eu gero o .jar ele não tah lendo…

o getClass().getResource("/imagens/imagem.gif"); tah dando erro:

Exception in thread “main” java.lang.NullPointerException
at formiguinha.Controlador.instanciaImagens(Controlador.java:57)
at formiguinha.Controlador.(Controlador.java:38)
at formiguinha.Principal.(Principal.java:25)
at formiguinha.Main.main(Main.java:19)

já tentei de tudo… eu sei que se eu passar o caminho completo vai funcionar… mas eu quero usar as imagens que estão dentro do .jar. Comparei com os gerados pelo NetBeans e tá igual… se alguem souber o que pode ser…

imagem = new javax.swing.ImageIcon(new ImageIcon(getClass().getResource("/imagens/imagen.gif")).getImage().getScaledInstance(40, 38, Image.SCALE_DEFAULT));