Fondamenti di Informatica (STI) 2005-2006

Nona esercitazione - 3 maggio 2006


Obiettivo


Descrizione codice

Il codice DueEllissi.java definisce un applet, richiamato dalla pagina html DueEllissi.html (vedere il codice html della pagina).

L'applet può essere eseguito visualizzando la pagina html con un browser web, oppure eseguendo dal prompt dei comandi il comando appletviewer Ellissi.html Se Internet Explorer non visualizza correttamente l'applet, consultare http://www.microsoft.com/italy/technet/community/mvp/editoriali/explorer.mspx.

Il comando appletviewer è disponibile nella cartella \bin della installazione del SDK. Nel caso in cui il codice Java dell'applet venga modificato e ricompilato, per osservare il comportamento delle modifiche apportate può essere necessario chiudere il browser e riavviarlo.


Un raffinamento, che usa visibilmente il polimorfismo, è proposto in Forme.java, richiamato dalla pagina html Forme.html


In DueEllissiInput.java, richiamato dalla pagina html DueEllissiInput.html, il metodo init() crea due ellissi chiamando un metodo che chiede le coordinate delle ellissi da tastiera.


Estensioni, che si suggerisce di svolgere nell'ordine

  • Scrivere un applet che disegna una serie di 10 quadrati, allineati in orizzontale, ciascuno di lato 20 pixel, separati uno dall'altro di uno spazio di 10 pixel, a partire dalle coordinate (20,20).
    Un esempio di soluzione è visibile in Quadrati.html
  • A partire da questi applet, scrivere un applet che disegna un bersaglio (una serie di cerchi concentrici) seguendo nell'ordine le specifiche seguenti.
    Un esempio di soluzione per l'ultimo punto è visibile in Bersaglio.html
    1. i cerchi sono in numero fissato (p.es. 3) e ne viene disegnato solo il bordo (metodo draw(...));
    2. i cerchi sono in numero fissato e pieni. Passando dalla corona più al centro il colore passa dal rosa pallido al rosso carico. Si suggerisce di disegnare i cerchi dal più grande al più piccolo;
    3. i cerchi sono in numero variabile. Il numero di cerchi deve essere chiesto in input attraverso una JOptionPane.showInputDialog().

Ulteriore estensione

Disegnare un istogramma (tanti rettangoli pieni), a partire da un array di frequenze. Si assuma che la dimensione dell'area disegnabile sia nota a priori e fissa, pari a una superficie 500 per 500 pixel.