Para detectar los eventos distribuidos por una ventana, debe registrar un detector en la instancia de la ventana. Por ejemplo, para detectar un evento closing, debe registrar un detector con la ventana del modo siguiente.
myWindow.addEventListener(Event.CLOSING, onClosingEvent);
Cuando se distribuye un evento, la propiedad
target
hace referencia a la ventana que envía el evento.
La mayoría de eventos de ventanas tienen dos mensajes relacionados. El primer mensaje indica que el cambio en la ventana es inminente (se puede cancelar), mientras que el segundo mensaje indica que el cambio ya se ha producido. Por ejemplo, si el usuario hace clic en el botón de cierre de una ventana, de distribuye el mensaje del evento closing. Si ningún detector cancela el evento, la ventana se cierre y el evento close se distribuye a todos los detectores.
Normalmente, los eventos de advertencia como
closing
solo se distribuyen si se utiliza el fondo cromático del sistema para activar un evento. Si se llama al método
close()
de la ventana, por ejemplo, no se distribuye automáticamente el evento
closing
(solo el evento
close
). Sin embargo, es posible construir un objeto de evento de cierre y distribuirlo mediante el método
dispatchEvent()
de ventana.
Los eventos de ventana que distribuye un objeto Event son:
Evento
|
Descripción
|
activate
|
Se distribuye cuando la ventana recibe la selección.
|
deactivate
|
Se distribuye cuando la ventana deja de recibir la selección.
|
closing
|
Se distribuye cuando la ventana va a cerrarse. Esto solo ocurre automáticamente al pulsar el botón de cierre del fondo cromático o, en Mac OS X, al invocar el comando Salir.
|
close
|
Se distribuye cuando la ventana se ha cerrado.
|
Los eventos de ventana que distribuye un objeto NativeWindowBoundsEvent son:
Evento
|
Descripción
|
moving
|
Si se distribuye inmediatamente antes de que la esquina superior izquierda de la ventana cambie de posición, bien como resultado del desplazamiento, cambio de tamaño o modificación del estado de visualización de la ventana.
|
move
|
Se distribuye una vez que la esquina superior izquierda de la ventana ha cambiado de posición.
|
resizing
|
Se distribuye inmediatamente antes de que la anchura o la altura de la ventana cambie, bien como resultado del cambio de tamaño o por la modificación del estado de visualización.
|
resize
|
Se distribuye después de que la ventana haya cambiado de tamaño.
|
En eventos NativeWindowBoundsEvent, puede utilizar las propiedades
beforeBounds
y
afterBounds
para determinar los límites de la ventana antes y después el cambio.
Los eventos de ventana que distribuye un objeto NativeWindowDisplayStateEvent son:
Evento
|
Descripción
|
displayStateChanging
|
Se distribuye inmediatamente antes de que cambie el estado de visualización de la ventana.
|
displayStateChange
|
Se distribuye una vez ha cambiado el estado de visualización de la ventana.
|
En eventos NativeWindowDisplayStateEvent, puede utilizar las propiedades
beforeDisplayState
y
afterDisplayState
para determinar el estado de visualización de la ventana antes y después del cambio.
En algunos administradores de ventanas de Linux, no se distribuye ningún evento de cambio de estado de visualización cuando se maximiza una ventana con una configuración de tamaño máximo. (La ventana se establece en el estado de visualización maximizado, pero no se cambia el tamaño.)