Intercettazione degli eventi della finestra

Adobe AIR 1.0 e versioni successive

Per intercettare gli eventi inviati da una finestra, potete registrare un listener con l'istanza della finestra. Ad esempio, potete intercettare l'evento di chiusura registrando un listener con la finestra come descritto di seguito:

myWindow.addEventListener(Event.CLOSING, onClosingEvent); 

Quando un evento viene inviato, la proprietà target fa riferimento alla finestra che invia l'evento.

La maggior parte degli eventi della finestra hanno due messaggi correlati. Il primo messaggio segnala che una modifica della finestra è imminente (e può essere annullata), mentre il secondo messaggio segnala che la modifica si è verificata. Ad esempio, quando un utente fa clic sul pulsante di chiusura di una finestra, viene inviato il messaggio relativo all'evento di chiusura. Se nessun listener annulla l'evento, la finestra viene chiusa e l'evento di chiusura viene inviato a tutti i listener.

In genere, gli eventi di avviso, ad esempio closing , vengono inviati solo quando il chrome di sistema è stato utilizzato per attivare un evento. La chiamata del metodo close() della finestra, ad esempio, non invia automaticamente l'evento closing , ma solo l'evento close . È possibile, tuttavia, costruire un oggetto evento di chiusura e inviarlo utilizzando il metodo dispatchEvent() della finestra.

Gli eventi della finestra che inviano un oggetto Event sono:

Evento

Descrizione

activate

Inviato quando la finestra viene attivata.

deactivate

Inviato quando la finestra viene disattivata.

closing

Inviato quando la finestra sta per chiudersi. Questo si verifica automaticamente solo quando si preme il pulsante di chiusura del chrome di sistema o, in Mac OS X, quando viene invocato il comando Quit.

close

Inviato quando la finestra è stata chiusa.

Gli eventi della finestra che inviano un oggetto NativeWindowBoundsEvent sono:

Evento

Descrizione

moving

Inviato subito prima che l'angolo superiore sinistro della finestra cambi posizione, come risultato dello spostamento, ridimensionamento o modifica dello stato di visualizzazione della finestra.

move

Inviato dopo che l'angolo superiore sinistro ha cambiato posizione.

resizing

Inviato subito prima della modifica della larghezza o altezza della finestra come risultato del ridimensionamento o della modifica dello stato di visualizzazione.

resize

Inviato dopo che la dimensione della finestra è stata modificata.

Per gli eventi NativeWindowBoundsEvent, potete utilizzare le proprietà beforeBounds e afterBounds per determinare i limiti della finestra prima e dopo la modifica imminente o completata.

Gli eventi della finestra che inviano un oggetto NativeWindowDisplayStateEvent sono:

Evento

Descrizione

displayStateChanging

Inviato subito prima della modifica dello stato di visualizzazione della finestra.

displayStateChange

Inviato dopo che lo stato di visualizzazione della finestra è stato modificato.

Per gli eventi NativeWindowDisplayStateEvent, potete utilizzare le proprietà beforeDisplayState e afterDisplayState per determinare lo stato di visualizzazione della finestra prima e dopo la modifica imminente o completata.

In alcuni gestori di finestre di Linux, non viene inviato un evento di modifica dello stato di visualizzazione quando viene ingrandita una finestra con un'impostazione delle dimensioni massime. (La finestra viene impostata sullo stato di visualizzazione ingrandita, ma non viene ridimensionata).