Fechar janela filho sem fechar a janela pai

Bem, pelo nivel da duvida pode-se perceber que sou um iniciante em Java!

Estou criando uma mini-aplicação usando o netbeans para criar as interfaces graficas e em certo ponto eu criei um JFrame e um JPanel…

O JFrame tem um botão que executa a seguinte ação:

-Instancia a classe JPanel que criei
-Da um setVisible(true) no objeto instanciado

A janela filho se abre normalmente, porém ao clicar no icone de fechar (o famoso X no canto superior direito) ele fecha a JPanel e seu pai JFrame terminando a execução do aplicativo!

Eu poderia criar um botão fechar no JPanel que executasse setVisible(false), mas gostaria de entender porque ele fecha a janela pai e termina a aplicação e como eu poderia impedir isso de acontecer seja mudando o comportamento desse botão (se possivel) ou qquer outra forma!

Obrigado!

Olá, o que aconteceu é que provavelmente você instanciou o panel dentro do frame. Acho que o que você deseja é instanciar uma dialog (esta aparecera como uma janelinha a parte).

Tu tem criar um JDesktopPane e adicionar um JInternalFrame e utilizar o metodo dispose();
para fechar somente a janela filho.

Oi,
no construtor da sua janela filho… coloque o evento dispose()… assim:

// // Ação para quando clicar no x da janela. // addWindowListener ( new WindowAdapter() { public void windowClosing(WindowEvent e) { // // Fecha a janela. // dispose(); } } );

O dispose ira fazer sua aplicação fexar somente a tela que esta com a prioridade no momento…

Espero ter ajudado…

Tchauzin!