Como inserir um imagem em um Label [Resolvido]

7 respostas
cloude

[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

phpinheiro

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.

marcosharbs

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.

cloude

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?

phpinheiro

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");
cloude

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

phpinheiro

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