Una vez visto el ejemplo de Hola Mundo con Java Swing vamos a dar paso a realizar más cosas con Java Swing. En este caso, partiendo del ejemplo de Hola Mundo, vamos a ver como podemos cerrar una ventana con Java Swing. De esta manera controlaremos las acciones a realizar una vez que el usuario cierre la ventana.
La idea principal consiste en escuchar el evento windowClosing. El evento windowClosing es un evento del adaptador de ventana o WindowAdapter.
Recuerda que para la gestión de eventos tenemos Interfaces y Adaptadores. Los interfaces nos obligan a codificar todos los eventos a gestionar, mientras que en el Adaptador solo tenemos que gestionar el evento que necesitemos.
Pero lo primero es utilizar el método .addWindowListerner para suscribirnos a los eventos que se produzcan en la ventana. Así, en el constructor de nuestro programa utilizaremos dicho método:
public CerrarVentana(){
addWindowListener(new WindowAdapter() {...});
}
Como podemos comprobar en el código, al método .addWindowListener le estamos pasando una clase WindowAdapter.
El método asociado al cierre de la ventana es windowClosing. En él solo vamos a realizar un exit del sistema con System.exit.
public void windowClosing(WindowEvent e) {
System.exit(0);
}
Así nuestro WindowAdapter quedaría de la siguiente forma para gestionar el cierre de una ventana con Java Swing.
public CerrarVentana(){
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
Aunque nosotros solo hemos forzado un System.exit, en el método windowClosing podemos hacer lo que queramos. Por ejemplo, preguntar al usuario si está seguro de cerrar.