Home Programmazione Java 2D - Guida completa Capitolo 04: La gestione degli eventi (prima parte, teorica): listener, adapter.

Page Rank Check    





Ultimi articoli

Capitolo 04: La gestione degli eventi (prima parte, teorica): listener, adapter.
Guide di programmazione - Java 2D - Guida completa
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 18:46

Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 4: la gestione degli eventi: listener, adapter


Capitolo 04: La gestione degli eventi (prima parte, teorica): listener, adapter.

In questo capitolo esamineremo la 'filosofia' che sta alla base del meccanismo di gestione degli eventi AWT.

Per il momento esprimeremo solo dei 'concetti': per il codice e gli esempi, dovremo aspettare di conoscere, prima, le componenti della GUI.

 

 

La GUI delle applicazioni è 'sempre all'erta': in qualunque momento, l'utente può cliccare su una componente o premere un tasto della tastiera, e la GUI deve intercettare tali eventi e gestirli; non solo: esistono anche eventi time-driven, generati da thread eseguiti in parallelo (o... pseudo-parallelo), che non dipendono dall'utente ma che implicano un aggiornamento della GUI.

Tutti queste considerazioni stanno alla base del paradigma di programmazione orientata agli eventi.

 

I linguaggi di programmazione implementano in vari modi, spesso molto differenti tra loro, tale paradigma.

Java prevede particolari oggetti, i listener (lett.: 'ascoltatori'), che vengono 'avvisati' dal sistema quando si verifica un evento che li riguarda (es.: il listener degli eventi da tastiera verrà invocato quando l'utente premerà, appunto, un tasto della tastiera) e che hanno il compito di gestire tali eventi (ovviamente, l'implementazione del metodo o dei metodi di gestione spetta al programmatore !).

La relazione componente-listener è di tipo molti-a-molti: un componente può avere più listener che, a loro volta, possono essere 'registrati' presso più componenti (è possibile, ad esempio, utilizzare un oggetto contenitore come listener e registrarvi tutti gli oggetti GUI in esso contenuti, per gestirne gli eventi).

 

 

I listener sono interfacce da implementare, il che significa che spesso siamo 'obbligati' a riscrivere certi metodi.

In futuro prenderemo in esame tali listener singolarmente e vedremo quali metodi riscrivere di volta in volta; a volte, comunque, non sarà necessario riscrivere TUTTI i metodi 'obbligatori' di un listener (in certi casi, anche sette), avvalendosi di particolari classi (non interfacce !) dette adapter.

 

Un adapter è una classe che implementa un'interfaccia, lasciando però vuoti i corpi dei metodi da riscrivere 'obbligatoriamente'; se il programmatore avrà, poi, bisogno di implementare uno di questi metodi, potrà riscriverlo (overriding).

 

Considerazione finale: ricordare tutti gli eventi, i listener, i metodi e gli adapter è praticamente impossibile e poco utile (potrebbero cambiare con una nuova versione del linguaggio !): è indispensabile far uso della documentazione ufficiale.

 

Per concludere, ecco qui (riassunta) la gerarchia di eventi di AWT:

Anteprima java cellulare WTK

 

La tabella seguente, invece, riassume le associazioni eventi-listener-adapter presenti in AWT:

EVENTO LISTENER ADAPTER
ActionEvent ActionListener
AdjustementEvent AdjustementListener
ComponentEvent ComponentListener ComponentAdapter
ContainerEvent ContainerListener ContainerAdapter
FocusEvent FocusListener FocusAdapter
KeyEvent KeyListener KeyAdapter
MouseEvent MouseListener, MouseMotionListener MouseAdapter, MouseMotionAdapter
TextEvent TextListener
WindowEvent WindowListener WindowAdapter
Tags:     programmazione      guide      manuali      corso      j2d      java 2d      gui      interfacce      capitolo 4      eventi      listener      adapter
Ultimo aggiornamento Domenica 22 Gennaio 2012 18:25
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials