Passagem de caminho relativo/absoluto de imagem p/JDesktopPane [RESOLVIDO]

1 resposta
Danielrricci

Boa noite galera do guj! Estou fazendo uma interface simples para um programa, porém não estou conseguindo inserir uma imagem na tela principal. O estranho é que se a imagem está dentro da pasta onde estao os arquivos do programa ela abre normal, mas quando estao fora, não dá certo, mesmo inserindo o caminho absoluto. O que será q estou fazendo de errado? Abaixo está o código, a linha comentada é a que está dando certo, ou seja, quando a imagem está na mesma pasta que as classes do programa. Se puderem me ajudar eu agradeço!

public class PlanoDeFundo extends JDesktopPane{

Image imagem;

      public PlanoDeFundo(){
            try {
	//java.net.URL caminho = JanelaPrincipal.class.getResource("dna1.jpg");
	java.net.URL caminho = JanelaPrincipal.class.getResource("/C:/Users/auxiliar/workspace/dna1.jpg");
	imagem = javax.imageio.ImageIO.read(caminho);
            }
            catch (Exception e){
                JOptionPane.showMessageDialog(PlanoDeFundo.this, "Ocorreu um erro durante o carregamento da imagem","ERRO",JOptionPane.WARNING_MESSAGE);
            }
       }  
	
      public void paintComponent(Graphics g){
            super.paintComponent(g);
            if (imagem != null)
                  g.drawImage(imagem, 0, 0, this.getWidth(), this.getHeight(), this);
            else
	  g.drawString("A imagem não pôde ser carregada!", 50, 50);
            }
}

1 Resposta

Danielrricci
Pessoal postando a resposta. Conforme orientação de amigos ai do forum eu alterei essas duas linhas dentro do bloco try:

(JanelaPrincipal.class.getResource("/C:/Users/auxiliar/workspace/dna1.jpg");

imagem = javax.imageio.ImageIO.read(caminho);

Image imagem; public PlanoDeFundo(){ try { imagem = Toolkit.getDefaultToolkit().getImage("C:/Users/auxiliar/Desktop/imagens/ciencia.jpg"); } catch (Exception e){ JOptionPane.showMessageDialog(PlanoDeFundo.this, "Ocorreu um erro durante o carregamento da imagem","ERRO",JOptionPane.WARNING_MESSAGE); } }

Criado 4 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 1
Participantes 1