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