Olá pessoal do fórum,
estou com uma dúvida. Qual a diferença entre:
[code]
new ImageIcon(Images.class.getClassLoader().getResource(“Images/ajuda.gif”));
e
Icon image = new ImageIcon("./imagens/006.gif");[/code]
Eu uso a segunda opção para colocar imagens no botões de minha aplicação, mas vejo vários
códigos que criam imagens do primeiro jeito. Qual a diferença entre os dois??
Grato desde já
onh
A diferença é que enquanto no primeiro é usado o construtor que recebe uma URL, no segundo é usado o construtor que recebe uma String.
Na prática, o primeiro vai funcionar caso você crie um .jar da sua aplicação, enquanto o segundo não vai, a não ser que a pasta das imagens estejam no mesmo diretório do .jar.
Eu particularmente faço assim:
Onde “/caminho/da/imagem/dentro/do/jar/” é o caminho completo da imagem dentro do jar, sendo este caminho formato pelos pacotes.
Com isso, você pode armazenar suas imagens dentro do projeto, não precisando ficar copiando a pasta de imagens para lá e para cá.
[]´s
Valeu davidbuzatto por esclarecer essa dúvida
Abraço
Amigo, eu tentei fazer desse jeito:
ImageIcon icon = new ImageIcon(getClass().getResource("/imagens/014.png"));
menuConf = new JMenuItem("Configurar Conexão",icon);
mas tá dando um java.lang.NullPointerException. Eu criei uma pasta chamada imagens
dentro do diretório do projeto e coloquei a imagem dentro dele. O que eu tô fazendo errado??
Grato desde já.
Jonh
[quote=jonhzihnhoOo]Amigo, eu tentei fazer desse jeito:
ImageIcon icon = new ImageIcon(getClass().getResource("/imagens/014.png"));
menuConf = new JMenuItem("Configurar Conexão",icon);
mas tá dando um java.lang.NullPointerException. Eu criei uma pasta chamada imagens
dentro do diretório do projeto e coloquei a imagem dentro dele. O que eu tô fazendo errado??
Grato desde já.
Jonh
[/quote]
“imagens” deve ser um pacote.
[]´s
então crio um pacote com um nome qualquer e dentro desse pacote , coloco minhas imagens ?
Brother eu fiz assim:
Primeiro eu criei um método que carrega as imagens:
[code]private ImageIcon getImagem(String nome){
String caminhoDaImagem = "br/com/Imagens/" + nome;
ClassLoader classLoader = this.getClass().getClassLoader();
ImageIcon icone = new ImageIcon(classLoader.getResource(caminhoDaImagem));
return icone;
}[/code]
e na hora de chamar fica assim:
Só passo o nome da imagem como parametro. As imagens ficam em um pacote:
MEU_PROJETO/src/br/com/Imagens
Funciona legal
Abraço
Bom dia Pessoas,
Quando eu gero o .jar do meu projeto, o .jar dos icones não está indo junto e não consigo executar meu projeto fora do NetBeans. Why my god?
Depende onde vc colocou suas imagens. Se vc criou a seguinte estrutura:
SEU_PROJETO/imagens/minhas_imagens_aqui
Desse jeito não vai funcionar na hora exportar, pois as imagens devem estar dentro de package tb pra aparecem depois de exportadas.
Vc tem duas opções:
1- Deixar o .jar dentro da pasta do projeto (não muito aconselhado). Eu mesmo fazia isso nos primeiros projetos com imagens.
OU
2 - Colocar as imagens dentro de um package tb;
MEU_PROJETO
--src
--br
--com
--DAO
//minhas classes DAO
--Transfer
//minhas classes Transfer
--Frames
//minhas classes da parte visual da aplicação
--Imagens
//minhas imagens
Essa é a estrutura ki eu uso nos meus projetos. Eu uso o eclipse, mas vc adapta pro NetBeans. O que importa vc saber
que as imagens [i]também deve estar em um pacoate[/i]
Abraço