Hace rato ya que me venian preguntando como cerrar un JPanel en Java con un botón, generalmente yo trabajo mucho solamente con jInternalJFrames, el cual me resulta muy cómodo trabajar pues ellos se muestran directamente dento de un desktopPane, y para cerrarlo solo necesitamos un .dispose(), un .hide() o un .setVisible(false). Pero tratandose de un jPanel estos comandos no funcionan directamente añadienlo solo eso.
Para que podamos cerrar un jPanel directamente utilizando un jButton en Java, necesitariamos recurrir a una utilidad el getWindowAcestor, que se encarga de trabajar directamente con la ventana.
Así que el código para poder cerrar un jPanel con un jButton seria el siguiente.
Window w = SwingUtilities.getWindowAncestor(MiPanel.this); w.setVisible(false);
Este código lo pueden poner en el ActionPerformed de un jButton o donde les parezca util.
Espero que les haya sido util este articulo, y si tienen otras consultas, dudas o comentarios pueden hacerlo, que me voy respondiendo todas a medida que pueda o que encuentre una sólucion a las cuestiones.
Tambien les invito a que pongan sus preguntas y tambien si pueden responder algunas de las preguntas de otros usuarios en la sección Preguntas de la página.
Gracias, me ha servido para las practicas que estoy realizando.
se cerro toda la aplicacion,mi panel estaba dentro de un desktopPane y este a la vez dentro de un Jframe, yo solo queria que se cierre el pane xc.