Como inserir um imagem em um Label [Resolvido]

7 respostas
C

[b]ola pessoal meu projeto ja esta tudo pronto !!!

Eu inseri umas imagens em uns label tudo ok!!

Quando eu compilo e rodo o projeto direto da minha IDE netbens a imagem aparece legal…

Mas quando e vou em Construir projeto, ai executo o projeto pelo arquivo JAR ele roda a aplicação mas não
aparece as imagem que eu inseri nos Label.[/b]

o que pode esta acontecendo!!

7 Respostas

P

Você colocou estas imagens em uma subpasta do seu projeto?

por exemplo: se vc colocou em src/resources, depois de compilado tem que estar em bim/resources. Se remover o jar tem que ir a pasta bin tambem (pelo menos com o resouces).

Acredito que tenha como compilar pra ficar tudo no jar tambem, porém eu costumo não fazer isso pra poder trocar as imagens sem recompilar.

M

porblema no caminho da imagem, se a pasta de imagens tive dentro do jar ele não vai achar a menos que vc faça ele buscar como resource acho, faça o .jar mas a pasta de imagens deve ficar fora do jar.

C

eu criei uma package…

no src/imagem e chamei esta imagem deste package tipo assim

jLabel1.setIcon(new javax.swing.ImageIcon("C:\Estoque\imagem\logo.jpg"));

porem depois de construir o projeto a imagem não aparece quando executo a aplicação

tem uma maneira melhor de inserir imagens?

P

Você pode usar um método somente pra carregar imagens, utilizando resource:

/** 
     * Cria um ImageIcon através do caminho da imagem fornecido 
     * @param caminho da imagem a ser carregada
     * @param descricao da imagem 
     */
	public ImageIcon criarImageIcon(String caminho, String descricao) {
		java.net.URL imgURL = getClass().getResource(caminho);
		if (imgURL != null) {
			return new ImageIcon(imgURL, descricao);
		} else {
			System.err.println("Não foi possível carregar o arquivo de imagem: " + caminho);
			return null;
		}
	}

Este método eu uso com as imagens em uma subpasta, como disse antes.
Na hora de carregar as imagens, eu passo só o caminho relativo:

ImageIcon icone = criarImageIcon("/resources/logo.png", "Logotipo");
C

Sem querer abusar da sua bondade phppinheiro
o que eu coloco na descrição:

public ImageIcon criarImageIcon(String caminho, String descricao) { java.net.URL imgURL = getClass().getResource("D:\Projeto de Java\Estoque\imagem\"); if (imgURL != null) { return new ImageIcon(imgURL, descricao); } else { JOptionPane.showMessageDialog(null, "Não foi possível carregar o arquivo de imagem:" + caminho); return null; } }

e setei a imagem assim:

ImageIcon icone = criarImageIcon("\imagem\cdl.png"); lb_foto.setIcon(icone);

o caminho eu ja coloquei mas esta dando erro ainda

P

no getResource vc colocou um valor errado. Tem que deixar o caminho mesmo. Não precisa mexer no método.

e preste atenção nas barras…as suas estão invertidas. Vc está usando url, e não sistema de pastas.

A descrição é uma descrição sua pra identificar a imagem.

M

Veja isso:
http://guj.com.br/posts/list/116434.java#630330
Resumindo: o nome de recursos deve iniciar com barra. Tente isso:

ImageIcon icon = new ImageIcon(getClass().getResource("/imagens/cd1.png"));

Para funcionar. tenha a certeza que existe uma pasta imagens com o arquivo cd1.png no diretório do seu projeto.

Criado 30 de janeiro de 2009
Ultima resposta 30 de jan. de 2009
Respostas 7
Participantes 4