Abrir um jinternalframe em um jframe

3 respostas
Tektron

Boa Noite.

Estou construindo uma pequena aplicação que funciona da seguinte maneira.
Tenho um JFrame que será minha tela principal, dentro desse JFrame tenho um JDesktopPane.
Em outro package tenho um JInternalFrame.
Meu problema é o seguinte, não estou conseguindo abrir o JinternalFrame no meu JDesktopPane.

segue meu código:

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        abreInternalFrame(jDesktopPane1,new cadCliente(), true);
//cadCliente() esta no package telasCadastro
//jDesktopPane esta no package telasHome
//esse codigo esta no JFrame que contem o JDesktopPane

    }                                          

    private void abreInternalFrame (JDesktopPane desktop, JInternalFrame internalFrame, Boolean acao){
        desktop = new JDesktopPane();  
        internalFrame = new JInternalFrame();  
        desktop.add(internalFrame);
        internalFrame.setVisible(acao);
    }

Agradeço a Atenção!

3 Respostas

fabiocortolan

Provavelmente vc já tenha verificado mas não custa perguntar :-), vc tem certeza q “acao” está sendo passada como “True”?

E
private void abreInternalFrame (JDesktopPane desktop, JInternalFrame internalFrame, Boolean acao){  
        desktop = new JDesktopPane();    
        internalFrame = new JInternalFrame();

Hum… por que é que você passa um JDesktopPane como parâmetro, e logo que você o recebe, joga-o fora e cria um novo?

Um JDesktopPane não deve ser criado dentro de um método que cria um JInternalFrame. Ele deve ser criado apenas uma vez, durante a inicialização do JFrame.

E

Estou imaginando que Vossa Excelência estava tomando um NullPointerException na linha 12 e em vez de corrigir a causa no lugar correto (que é na inicialização) corrigiu no lugar errado.

Criado 16 de julho de 2013
Ultima resposta 17 de jul. de 2013
Respostas 3
Participantes 3