Geração do .jar - Problemas com a pasta de imagens

7 respostas
tiagosarno

E ai pessoal do GUJ,
tenho uma aplicação desktop que esta compilando e rodando 100%, nesta aplicação criei uma pasta para armazenar imagens e coloquei no caminho /src/img. Quando rodo o aplicativo as imagens são mostradas normalmente, mas quando gero um Build do projeto “.jar” apenas as imagens dos botões ficam mas o resto das imagens somem tudo, será que estou fazendo algo errado com este caminho das fotos? Na aba project a pasta img aparece como parte do projeto.

exemplo de código que uso para carregar imagem em um JLabel:

javax.swing.ImageIcon icon = new javax.swing.ImageIcon(src/img/teste.jpg);

java.awt.Image img = icon.getImage().getScaledInstance(90, 434, java.awt.Image.SCALE_AREA_AVERAGING);

label1.setIcon(new javax.swing.ImageIcon(img));

Obrigado,
[ HcK ].

7 Respostas

furutani

Utilize o getResourceAsStream() para obter as imagens.

tiagosarno

Resolvido o problema. obrigado…

Tiago [ HcK ]

arthurthiago

Aproveitando o tópico… até pq eu tow com o mesmo problema… alguem pode me dar um exemplo de como usar esse getResourceAsStream() ?

Onde eu coloco o endereço da imagem?

Dei uma pesquisada mas nao entendi muito bem…

vlw!

arthurthiago

po galera… ninguem tem um exemplo ai? tow enroladao com isso… tow usando o NetBeans e ele coloca o caminho das imagens assim:

jButton2.setIcon(new javax.swing.ImageIcon(“D:\Projetos\NetBeans\ProjetoCaep\src\br\com\caep\img\cancelar.png”));

só que quando eu passo o projeto pra outro computador eu tenho que refazer todos os caminhos e dai eh dose…

os códigos fontes estao em “CAMINHO DO PROJETO”/src/br/com/caep/ e as imagens em “CAMINHO DO PROJETO”/scr/br/com/caep/img

tow precisando de um help ai… se alguem souber de um exemplo melhor de como eu posso colocar o caminho dessas imagens pra eu poder ver em qualquer pc e tb quando eu compilar eu agradeço!

Vlw galera…

ksi

Tive o mesmo problema, dá uma lida nesse tópico aqui:

http://www.guj.com.br/posts/list/51170.java#272141

tiagosarno
Como vc resolveu o problema? poderia dar uma amostra do código? Até mais.

tiagosarno

Ai arthurthiago e Ksi,
consegui resolver meu problema 100%, até o .jar esta pegando todos os icones e imagens. Seguinte, estou utilizando o NetBeans 5.0 e nele quando for colocar alguma imagem clique na aba inspector e logo após o objeto desejado tipo JLabel por exemplo, ai vá nas propriedades do objeto e dirija-se a aba code, na aba code vá em Post-Init Code e informe o código.

Exemplo:

javax.swing.ImageIcon icon = new javax.swing.ImageIcon("img/teste.jpg");
java.awt.Image img = icon.getImage().getScaledInstance(90, 434, java.awt.Image.SCALE_AREA_AVERAGING);
label1.setIcon(new javax.swing.ImageIcon(img));

Onde, /img esta na mesma hierarquia da pasta /src. Depois de seguidos estes passos as imagens não aparecerão, elas irão aparecer somente depois que rodar o programa.

Detalhe: Quando realizar o Build do projeto “.jar” será criado tudo dentro da pasta /dist, agora pegue a pasta /img copie e cole dentro da pasta /dist, assim o caminho para as imagens estarão corretos. Tanto ícones como imagens de fundo são visualizadas normalmente executando-se o .jar em qualquer máquina que possua a JVM.

Espero ter ajudado.

Tiago [ HcK ]

arthurthiago

blz tiago!!

Agora tah tudo funcionando tranquilao!! ehhehe

vlw brother!

Criado 19 de fevereiro de 2007
Ultima resposta 21 de fev. de 2007
Respostas 7
Participantes 4