Paola Magillo, Univestita' di Genova, Corso di Programmazione II per SMID, a.a. 2006-2007.

Laboratorio 04 b:

INTERFACCIA GRAFICA PER ISTOGRAMMI

Il lavoro di questo laboratorio intende realizzare una parte di quanto illustrato nella lezione 9a.

Da che cosa partiamo

Nel laboratorio precedente (laboratorio 4a) abbiamo ottenuto un'interfaccia grafica che carica, visualizza, salva un istogramma.

Partiamo da li'.

Attenzione: errata corrige

Che cosa dobbiamo fare

(1) Aggiungere all'interfaccia i menu'

Vedere lezione 9a per la spiegazione dettagliata dei menu' da aggiungere.
Qui facciamo un riassunto:

In questo laboratorio costruiamo soltanto i menu' senza assegnare loro i comportamenti, a parte quello di cui al punto (2).

Per la costruzione dei menu' ricalcare la costruzione del menu' File gia' presente.
Notare che:

Le voci segnate con [*] devono essere inizialmente disabilitate: chiamare su di esse il metodo setEnabled(false).

(2) Selezione e disselezione del rettangolo

Mandate in esecuzione il programma interfaccia grafica (ShowIsto) e provate a cliccare sull'istogramma visualizzato. Vedrete che:

Questo e' il comportamento di default previsto nella classe di dispositivo IstoPainter per la selezione.

A questo comportamento predefinito aggiungiamo un comportamento definito da noi.
Vogliamo che all'atto della selezione:

Per fare questo aggiungiamo all'oggetto di classe IstoPainter (contenuto nell'attributo ip), tramite la funzione addSelectionListener, un oggetto di nostra classe che implementi l'interfaccia SelectionListener.

Guardare il file SelectionListener.java per vedere come si chiama la funzione che deve essere implementata.
Per sapere che cosa e' stato selezionato basta chiamare ip.getSelectedRectangle() e vedere se il rettangolo ritornato e' esistente oppure null.