Como exibir uma imagem?

Opa,

to tentando exibir uma imagem que o usuário escolhe do arquivo, o problema é que a na hora de instanciar da uma mensagem de erro de que nao conseguiu encontrar a imagem no endereço especificado…

ex: c:\imagem.gif

o único jeito que eu consegui fazer funcionar é quando a imagem já está no diretorio do arquivo, dai eu só coloco ./images/imagem.gif e ai funciona

eu estou utilizando o jlabel para exibir a imagem, fazendo a instanciação com a classe icon.

se alguem souber ai me da uma mao, que é bem simples =D

t+

se voce colocasse o código junto com a explicação que deu seria melhor, vc ta tentando selecionar um arquivo com um file dialog ?
exemplo:
FileDialog fd = new FileDialog(this,“Choose a File”,FileDialog.LOAD);
fd.setDirectory("/");

Image image = new ImageIcon(fd.getDirectory).getImage(); // ai da erro aqui ?

advinhar fica dificil : (
mas nao se esqueça que contra barra " ex: c:\imagem.gif " e lido como caractere de espace, ele sempre le como barra normal " ex c:/imagem.gif "

Bele, foi mal acho que nao me expressei corretamente, é o seguinte quero exibir uma imagem na tela, atualmente faço isso:

crio um label com o nome de figura, dai

ImageIcon icon = createImageIcon(“imagem/teste.gif”);
figura.setIcon(icon);

dessa forma funciona, mas se eu tentar fazer:

ImageIcon icon = createImageIcon(“E:/11.2.jpg”);
addImagem.setIcon(icon);

nao funciona, ele fala que nao achou o arquivo, já tentei mudar a String para E:\11.2.jpg ou E:\11.2.jpg mas nenhuma delas funciona, acho que agora ficou mais claro

e quanto a sua pergunda eu vou selecionar o arquivo atraves do jFileChooser, mas com ele eu consegui pegar o endereço da imagem sem problemas, a dificuldade está na hora de exibi-la.

t+

bom se nao for erro de escrita seu, o erro com certeza esta nesse ponto a mais no meio da string entre 11 e 2, ele não vai reconhecer esse PATH
(“E:/11.2.jpg”);

ao invez disso:
ImageIcon icon = createImageIcon(“E:/11.2.jpg”); // desconheço esse método createImageIcon

tente isso:

label.setIcon(new ImageIcon(“e:/112.jpg”)); // claro vai ter que renomear o nome do arquivo pra tirar esse .

Cara, eu sou bem burro tambem… heheh

esse metodo createImageIcon é um que eu mesmo implementei :stuck_out_tongue:

na verdade eu peguei ele de um codigo que eu achei na net, dai nem lembrava, era ele que estava zoando o programa, do seu jeito mostra a imagem certo.

tipo, já que vc ta dando uma mao tem como dizer oque ele faz e pq ele da problema…

ai vai:

protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = inicialUI.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }

a classe inicialUI é o meu programa

t+

O seu método personalizado está usando o getResource.

Esse comando serve para pegar um recurso de seu programa (uma imagem, por exemplo) que esteja dentro do classpath. Isso inclui imagens dentro de .jar.

Mas realmente, não serve para recursos fora do escopo do seu programa, como os que você quer pegar. Nesse caso, use o construtor diretamente, como o colega explicou.

Valeu pela ajuda, ta tudo resolvido agora