Problema em exibir imagem aberta pelo JFileChooser

Pessoal estou com problema em exibir uma imagem em que o usuario vai escolher pelo JFileChooser, a rotina que eu criei foi que eu criei um ImageIcon para receber o diretorio escolhido no JFileChooser e depois joguei em uma JLabel e por final de fundo em um JPanel, só que não é visualizada a imagem.

Códigos:

btnNavegar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fileChooser.showOpenDialog(null); String dir = fileChooser.getCurrentDirectory().getPath(); imgVisualizacao =new ImageIcon(dir); lblVisualizacaoImg =new JLabel(imgVisualizacao); panelVisualizacaoImg.add(lblVisualizacaoImg); } });

Quem poder me ajudar desde já agradeço

Acontece o seguinte: você está fazendo referência à pasta onde o usuário selecionou o arquivo, e não ao arquivo propriamente dito. Substitua:

String dir = fileChooser.getCurrentDirectory().getPath();

Por:

String dir = fileChooser.getSelectedFile().getPath();

Antes de você usar esse comandos aí em cima, você deve declarar e instanciar o lblVisualizacao. Depois, inclua-o no seu painél. Você não perceberá, mas ele estará lá.

Por fim, no lugar disso:

lblVisualizacaoImg =new JLabel(imgVisualizacao);
panelVisualizacaoImg.add(lblVisualizacaoImg); 

Use isso:

lblVisualizacao.setIcon(imgVisualizacao);

Aí deve dar certo. Tem que fazer assim para apenas trocar o ícone, porque se o usuário resolver trocar a imagem 30 vezes, iriam aparecer 30 imagens na tela (ou seja, a cada vez que o usuário seleciona nova imagem, seria adicionada uma nova, e não trocada).

Rapaiz não deu certo, continua sem aparecer a imagem, fid do geito que disse:

btnNavegar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fileChooser.showOpenDialog(null); String dir = fileChooser.getSelectedFile().getPath(); imgVisualizacao =new ImageIcon(dir); lblVisualizacaoImg.setIcon(imgVisualizacao); panelVisualizacaoImg.add(lblVisualizacaoImg); } });

Poste o código da classe completo, pois o erro deve estar em outro lugar.

Cara é o seguinte em um JLabel vc normalmente exibe uma string, para exibir uma imagem faça assim:

ImageIcon imagem = new ImageIcon(caminhoArquivo); //instanciando a imagem
JLabel lblImagem = new JLabel(imagem); // passando a instancia como parâmetro
lblImagem.setBounds(30, 30, 200, 260); // atribuindo a posição e tamanho do Label

OBS: este caminhoArquivo é o caminho da imagem selecionado no seu JFileChooser, e não se esqueça de adicionar o “lblImagem” no seu frame
Boa Sorte t+
espero ter ajudado tbm sou iniciante !! =D