Problema com exibição de imagem após evento de botão

1 resposta
T

Olá pessoal,

Estou com o seguinte problema:

Eu criei um JPanel que deve inicialmente estar vazio e, após um actionListener de um botão, uma imagem deve ser lida e carregada no JPanel. Só que isso não está acontecendo… acredito que deve ser alguma coisa relacionada com o desenho do panel, pois quando chamo diretamente a imagem ao criar o painel ele exibe tudo certinho.

Estou fazendo isso sem o gerenciador do Netbeans, manualmente mesmo. Vou mostrar o trecho do código relacionado ao problema:

Primeiro, crio a janela e os componentes que a compõem:

frame = new JFrame();
        painelImagem = new JPanel();
        painelBotoes = new JToolBar();

Depois, configuro o layout e adiciono os componentes ao frame:

contentPane = frame.getContentPane();
        contentPane.setLayout(new BorderLayout());
        contentPane.add(painelBotoes, BorderLayout.NORTH);
        contentPane.add(painelImagem, BorderLayout.CENTER);

Agora, o método chamado após o evento do botão, para carregar a imagem no jpanel:

private void atualizaImagem() {

        PlanarImage imagem = controle.getImagem();
        DisplayJAI dj = new DisplayJAI(imagem);
        JScrollPane jsp = new JScrollPane(dj);
        painelImagem.add(jsp);
    }

Ai, nada acontece… :cry:

Testei o evento em si e ele está funcionando… pois mandei imprimir um texto na tela quando o botão fosse pressionado e correu todo certinho!
Mas agora não sei o que fazer…

1 Resposta

C

-antes de adicionar a imagem, deve verificar se ja n tem uma imagem inserida, caso tenha, deverá ser removida
-o painelImagem está sem layout, recomendo usar o gridlayout(1,1) ou o borderLayout
-se ainda n estiver funcionando, insira painelImagem.repaint() depois de adicionar a imagem

Criado 24 de agosto de 2012
Ultima resposta 27 de ago. de 2012
Respostas 1
Participantes 2