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

Laboratorio 04 a:

INTERFACCIA GRAFICA PER ISTOGRAMMI

Il lavoro di questo laboratorio e' in preparazione a realizzare quanto illustrato nella lezione 9a.

Lo scopo e' ottenere semplicemente la visualizzazione di un istogramma senza ancora tutte le operazioni previste nella lezione 9a.

Da che cosa partiamo

Sono fornite:

Dettagli su queste classi e interfacce si trovano nella lezione 9a,

Che cosa dobbiamo fare

(1) Implementare AnyRectangle e AnyIstogram

Il fatto che le due interfacce AnyRectangle e AnyIstogram estendano Serializable ottiene che gli oggetti delle classi che le implementano (cioe' i nostri rettangoli e i nostri istogrammi) si possano leggere e scrivere su file. Java fornisce meccanismi gia' pronti per gestire la lettura/scrittura, li vedremo prossimamente.

(2) Far funzionare il visualizzatore

Partire dalla classe ShowIsto fornita.

Se la eseguite cosi' come e' non visualizza nulla perche' il programma e' impostato per disegnare l'istogramma nullo (l'istogramma si trova nell'attributo is che attualmente e' posto = null).

Provare a compilare ed eseguire la classe come e' e vedere che cosa succede.

Bisogna creare un istogramma della vostra classe istogramma e metterlo nell'attributo is invece dell'istogramma nullo.

Nel costruttore di ShowIsto, a partire dalla linea 62 (marcata dal commento PARTE DA MODIFICARE PER FAR FUNZIONARE IL PROGRAMMA):

Provare a compilare ed eseguire la classe dopo le modifiche e vedere che cosa succede.

(3) Usare il visualizzatore

Verificare che load e save funzionano, nel seguente modo:

Note

Il file su cui Java salva l'istogramma e' in formato binario: se provate a caricarlo in un editor non e' leggibile.

E' possibile rileggere un istogramma scritto solo se nel frattempo non avete modificato le vostre classi per il rettangolo e l'istogramma. Se le classi sono cambiate, Java non e' piu' in grado di rileggere l'oggetto (di fatto l'oggetto che trova nel file appartiene a un'altra classe).

(4) Provare a cambiare qualcosa nel visualizzatore

Se vi rimane tempo...

Nel costruttore di ShowIsto, dopo aver creato il pannello disegna-istogramma (contenuto nell'attributo ip di classe IstoPainter), vengono impostate alcune sue caratteristiche. Provare a cambiarle.