JInternalFrame abrindo em outro JInternalFrame!

3 respostas
T

Galera tenho um JInternalFRame…e quando eu clico em um botão que abre outro JInternalFRame…ele abre dentro no que estava…tipo queria que ele abrice fora desse JInternalFRame…e o que estava aberto fechace…uso netbens…vlw galera!!

3 Respostas

ViniGodoy

Dentro desse seu JInternalFrame tem outro DesktopPane?

Bom, na verdade, o seu botão deve mandar uma mensagem para a janela principal, que contém o JDesktopPane. E é essa jenela que deve abrir o novo JInternalFrame.

public SeuInternalFrame extends JInternalFrame {
    JanelaPrincipal pai;

   public SeuInternalFrame(JanelaPrincipal pai) {
        //construtor
        this.pai = pai;
    }

    public void abrirJanelaCadastro() {
        pai.abrirJanelaCadastro();
    }
}
T
ViniGodoy:
Dentro desse seu JInternalFrame tem outro DesktopPane?

Bom, na verdade, o seu botão deve mandar uma mensagem para a janela principal, que contém o JDesktopPane. E é essa jenela que deve abrir o novo JInternalFrame.

public SeuInternalFrame extends JInternalFrame {
    JanelaPrincipal pai;

   public SeuInternalFrame(JanelaPrincipal pai) {
        //construtor
        this.pai = pai;
    }

    public void abrirJanelaCadastro() {
        pai.abrirJanelaCadastro();
    }
}

Vou tentar ser + claro eu tenho um menu...JFRame.....e dentro desse menu tenho um JInternalFRame...e nele tem um botão que quando clico ele me traz outro JInternalFRame....que é uma tela de cadastro....aí tipo fica esse JInternalFrame..dentro do outro...fica tudo doido...eu queria que ao clicar no botão...esse primeiro JInternalFrame..fosse fechad..e o que eu chamei aparece-se...entenderam?

M

Esse código que ele postou resolve o seu problema, acho que você não está entendendo a ideia. Vou tentar explicar.

Esse SeuInternalFrame é o JInternal que você chamou primeiro.
ViniGodoy:
public SeuInternalFrame extends JInternalFrame {
    //Seu JFrame com o menu que chama o outro JInternalFrame
    JanelaPrincipal pai;

   //O construtor do primeiro  JInternalFrame recebe como parâmetro o JFrame que tem os menus
   public SeuInternalFrame(JanelaPrincipal pai) {
        //construtor
        this.pai = pai;
    }

    //Método que é chamado para abrir o JInternalFrame de cadastro
    //note que este é um método do [b]pai[/b], isso significa que esse método foi programado dentro o JFrame principal
    //ps. você pode programar esse método de maneira diferente depende da sua lógica de programação mas a idéia é essa.
    public void abrirJanelaCadastro() {
        pai.abrirJanelaCadastro();
    }
}
Criado 27 de outubro de 2009
Ultima resposta 28 de out. de 2009
Respostas 3
Participantes 3