Interfaccia grafica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 32:
 
=== Modello ad eventi con delegati ===
[[File:GUI - Delegate Event Model.PNG|thumb|Modello ad eventi con delegati. Click me è la sorgente, in questo caso di tipo bottone, e ad essa è associata una coda di ascoltatori]]
Questo modello parte dal presupposto che sia l'utente a decidere il percorso che l'esecuzione del programma dovrà seguire. All'utente sono resi disponibili diversi [[widget]], ognuno dei quali attiva l'esecuzione di determinate parti del programma su richiesta. L'interazione tra utente e oggetti grafici avviene tramite i noti dispositivi di input come la tastiera, il mouse, i pulsanti del mouse, la rotellina del mouse, il touchpad.
[[File:GUI - Delegate Event Model.PNG|thumb|Modello ad eventi con delegati. Click me è la sorgente, in questo caso di tipo bottone, e ad essa è associata una coda di ascoltatori]]
 
Il caso più semplice è quello di un [[command button|pulsante]] come quello rappresentato in figura. Al pulsante sono associati zero o più ''listeners'', cioè entità di programma ad ognuno dei quali, a sua volta, è associata una determinata sequenza di istruzioni. In [[run time|fase di esecuzione]], ogni volta che l'utente compie l'azione di "attivare" il pulsante, quest'ultimo riceverà una notifica dal sistema operativo ed attiverà tutti i ''listeners'' associati. Nel caso particolare del pulsante, l'azione "attivare" consiste tipicamente nel fare clic con il mouse mentre il cursore si trova sul componente, ma ad es. può essere avviata anche nel caso della pressione del tasto [[Invio]] se il componente grafico ha correntemente il ''[[focus (informatica)|focus]]''.