ImageIcon... onde salvar o .gif

6 respostas
tr3t4

pessoal ja vi algumas perguntas e resposta sobre o ImageIcon, e nao conseguir obter a resposta, venho a vcs perguntar o seguinte:
tenho um codigo e estou colocando o seguinte icone nele parreira.gif, so que todos os poucos livros e artigos que li nao tinha especificado onde é que eu salvo os arquivos .gif, para que apareça no meu codigo : )

segue um trecho do codigo para melhor intenderem minha duvida:

Icon parreiraIcone = new ImageIcon("parreira.gif");

blz ate ai ta tranquilo…agora eu nao sei é onde salvar esse parreira.gif, tipo nenhum livro me indicou uma pista de onde salva-lo, será que é no “C:\Documents and Settings\tr3t4\workspace\copa\parrera” ??

desde já agradeço a quem me ajuda!!

6 Respostas

ClashFM

Treta,

vc pode declarar o caminho absoluto da imagem no construtor do ImageIcon:

Icon parreiraIcone = new ImageIcon("c://parreira.gif");

Se mantiver somente o nome do arquivo, ele vai ser procurado na raiz do projeto - no meu caso, com Eclipse, ele joga no mesmo diretório onde estão src e bin

Minha sugestão: crie um diretório “etc/imagens” ou algo parecido, na raiz do projeto, e coloque lá suas imagens; o acesso fica assim:

Icon parreiraIcone = new ImageIcon("etc//imagens//parreira.gif");

Pelo código que vc colocou na msg, o lugar pra colocar o arquivo, sem a criação de sub-diretórios, é “C:\Documents and Settings\tr3t4\workspace\copa”

Cheers

tr3t4

valews ClashFM
vc comentou que “…com Eclipse, ele joga no mesmo diretório onde estão src e bin…”
eu tbm uso o eclipse, fiquei com uma duvida, caso eu declarar o caminho absoluto igual vc comentou, na hora que eu finalizar meu projeto .jar, o eclipse copiará este .gif, para o pacote?

mas vou testar do outro jeito que tu falou, tipo criando na raiz do projeto e jogando o .gif, valews
abraços manu

R

Eu estou tendo o mesmo problema…

Pelo que eu tenho visto , existem duas maneiras de se carregar um icone em um botão:

1- Icon icSalvar = new ImageIcon(getClass().getResource(“salvar.GIF”));

2- Icon icSalvar = ImageIcon(“Salvar.GIF”);

JButton jSalvar = new JButton(“Salvar”,icSalvar);

A primeira maneira eu consegui faze funcionar. Os icones precisam estar dentro da pasta dos class. Porem quando eu crio o Jar da aplicação, ele da null pointer me informando que não conseguiu localizar os icones.
A segunda, ela não da nenhum erro… mas os botoes ficam sem icones. Já coloquei os icones ja pasta do .java e do class… mas ele não carrega os icones para o botão.

O que devo fazer???

Seria o mesmo caso do amigo?

S

Salva o arquivo no pacote onde esta a sua classe.

R

Já tentei colocar na pasta onde são salvos os class, mas quando eu crio o jar ele não encontra

T

Dica: crie uma pasta chamado “imagens” na pasta onde você guarda os fontes (não os .class), e copie as imagens para esse package. Tanto o Eclipse quanto o NetBeans verificam que esses arquivos não são arquivos-fontes e simplesmente os copiam para o diretório onde ele copia os .class. Na hora de montar o jar, ele faz tudo direitinho.

Na hora de puxar o .gif do .jar, você usa algo como:

Icon icSalvar = new ImageIcon (getClass().getResource ("/imagens/salvar.gif"));

Note que há diferença entre minúsculas e maiúsculas. Cuidado com os nomes dos arquivos; eu recomendo deixar tudo em minúsculas (ou seja, renomeie o arquivo “salvar.GIF” para “salvar.gif”, para evitar problemas. )

Além disso, a barra a usar é sempre “/”, não “”. getResource só entende as barras “/”.

Criado 3 de julho de 2006
Ultima resposta 5 de jul. de 2006
Respostas 6
Participantes 5