Cómo escribir escuchas de ventana: En esta sección se explica cómo implementar tres tipos de controladores de eventos relacionados con ventanas: WindowListener, WindowFocusListener, y WindowStateListener. Los tres oyentes manejan WindowEventobjetos. Los métodos de los tres controladores de eventos son implementados por la WindowAdapterclase abstracta . Cuando se ha registrado el oyente apropiado en una ventana (como un marco o un cuadro de diálogo ), los eventos de ventana se activan justo después de que se haya producido la actividad o el estado de la ventana. Una ventana se considera como un "propietario de foco", si esta ventana recibe entrada de teclado. Las siguientes actividades o estados de ventana pueden preceder a un evento de ventana: Abrir una ventana: muestra una ventana por primera vez.
Cerrar una ventana: eliminar la ventana de la pantalla. Iconificar una ventana: reducir la ventana a un icono en el escritorio. Desiconificación de una ventana: restaurar la ventana a su tamaño original. Ventana enfocada: la ventana que contiene el "propietario del enfoque". Ventana activada (marco o diálogo): esta ventana es la ventana enfocada o es propietaria de la ventana enfocada. Ventana desactivada: esta ventana ha perdido el foco. Para obtener más información sobre el enfoque, consulte la especificación del subsistema de enfoque de AWT . Maximizar la ventana: aumentar el tamaño de una ventana al tamaño máximo permitido, ya sea en la dirección vertical, la dirección horizontal o en ambas direcciones. La WindowListenerinterfaz define métodos que manejan la mayoría de los eventos de ventana, como los eventos para abrir y cerrar la ventana, la activación y desactivación de la ventana y la iconificación y desiconificación de la ventana. Las otras dos interfaces de escucha de ventana son WindowFocusListenery WindowStateListener. WindowFocusListenercontiene métodos para detectar cuándo la ventana se convierte en el propietario del foco o pierde el estado de propietario del foco. WindowStateListenertiene un método único para detectar un cambio en el estado de la ventana, como cuando la ventana se iconifica, desiconifica, maximiza o restaura a la normalidad. Si bien puede usar los WindowListenermétodos para detectar algunos estados de ventana, como la iconificación, hay dos razones por las que WindowStateListenerpuede ser preferible a: solo tiene un método para que lo implemente y brinda soporte para la maximización.