Detección de eventos de ventanas

Adobe AIR 1.0 y posterior

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.)