Clase WindowEvent

Se produce un WindowEvent cada vez que se abre, cierra, iconiza, restaura, activa o desactiva una ventana. La interface WindowListener contiene los siete métodos siguientes, con los que se puede responder a este evento:

void windowOpened(WindowEvent we); // antes de mostrarla por primera vez void windowClosing(WindowEvent we); // al recibir una solicitud de cierre void windowClosed(WindowEvent we); // después de cerrar la ventana
void windowIconified(WindowEvent we);
void windowDeiconified(WindowEvent we);
void windowActivated(WindowEvent we);
void windowDeactivated(WindowEvent we);

El uso más frecuente de WindowEvent es para cerrar ventanas (por defecto, los objetos de la clase Frame no se pueden cerrar más que con Ctrl+Alt+Supr). También se utiliza para detener threads y liberar recursos al iconizar una ventana (que contiene por ejemplo animaciones) y comenzar de nuevo al restaurarla.

La clase WindowEvent define la siguiente serie de constantes que permiten identificar el tipo de evento:

WINDOW_OPENED, WINDOW_CLOSING, WINDOW_CLOSED, WINDOW_ICONIFIED, WINDOW_DEICONIFIED, WINDOW_ACTIVATED, WINDOW_DEACTIVATED

En la clase WindowEvent el método Window getWindow() devuelve la Window que generó el evento. Se utiliza en lugar de getSource().

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra