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!!
JInternalFrame abrindo em outro JInternalFrame!
3 Respostas
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();
}
}
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?
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.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(); } }