gr a fica e n on solo • applicazioni da console – com e gli esem pi finora realizzat i • applicazioni grafiche – st esso schem a delle applicazioni da console ( con m et odo main) , m a sfrut t ando classi che producono grafica – più avanzat e, t rat t at e succesivam ent e • applet – schem a nuovo – " vivono" in un browser ( ut ilizzano l'am bient e di run- t im e del browser) Febbraio 2003 IGEA 02- 03 2 • lit t le applicat ion – m a sono propost i alt ri significat i, com e " applicat ion obj ect " o " program s t hat run on panels" • st rum ent i rapidi ed efficaci per gest ire la grafica – ...e non solo • abbinat e a codice HTML – vengono definit i apposit i riquadri ent ro i quali avviene la visualizzazione Febbraio 2003 IGEA 02- 03 3 • sogget t e a rest rizioni di sicurezza ( sandbox) • i browser possono im pedire loro di – lanciare alt re applicazioni – accedere al file syst em locale – accedere ad inform azioni sul sist em a su cui sono in esecuzione – com unicare liberam ent e via ret e Febbraio 2003 IGEA 02- 03 4 client client (browser) (browser) carica pagina a.html server server (http) (http) <html> … <applet code = "a.class"…> </applet> … </html> carica file a.class JVM a.html a.class Febbraio 2003 IGEA 02- 03 5 • TAG <applet>: <applet code = "nom e_file_byt ecode" width = "pixel_larghezza_riquadro" height = "pixel_alt ezza_riquadro">m essaggio visualizzat o durant e caricam ent o</applet> • esem pio: <applet code = "a.class" width = "300" height = "300">caricamento</applet> Febbraio 2003 IGEA 02- 03 6 import java.applet.Applet; public class <nome> extends Applet { // metodi… } • la parola chiave extends fa sì che la classe <nome> cont enga ( eredit i) " aut om at icam ent e" t ut t i i m et odi e le variabili ist anza della classe Applet – anche se non sono esplicit am ent e definit i Febbraio 2003 IGEA 02- 03 7 import java.awt.Graphics; import java.applet.Applet; public class Applet0 extends Applet { public void paint(Graphics g) { g.drawString("Welcome to Java!!", 50, 60 ); } } clic per provare Febbraio 2003 IGEA 02- 03 8 • il browser, nell'at t ivare l'applet , esegue in sequenza i m et odi – costruttore, all'atto dell'istanziazione – init, primo metodo attivato, svolge eventuali operazioni di inizializzazione non specificate nel costruttore – start, attivato subito dopo init, contiene istruzioni di avvio – paint, attivato dopo start, contiene le istruzioni per la visualizzazione • ogn i volt a ch e il ge st or e de lle fin e st r e de l br ow se r r it ie n e ch e occor r a r idise gn a r e la fin e st r a de ll'a pple t ch ia m e r à ( a u t om a t ica m e n t e ) il m e t odo paint Febbraio 2003 IGEA 02- 03 9 • alt ri due m et odi – stop • eseguito quando l'applet viene arrestata (ad es., iconizzando la finestra) – destroy • eseguito subito prima che l'applet venga distrutta • l'esat t o significat o dei m et odi si com prende osservando at t ent am ent e il com port am ent o dell'applet Prim aApplet Febbraio 2003 IGEA 02- 03 10 • non è chiaro cosa inserire nel cost rut t ore e cosa in init – in ogni caso: inizializzazioni • cosa è ut ile inserire in start e stop? – dipende dall'im port anza dell'iconizzazione e del successivo riprist ino della finest ra • m ai chiam are paint – spet t a al gest ore delle finest re, che lo fa aut om at icam ent e • buona part e delle " nost re" applet avranno solo init e paint Febbraio 2003 IGEA 02- 03 11 • Java, linguaggio originale • i browser incorporano una m acchina virt uale Java sost anzialm ent e st andard • Java si evolve, dando luogo a Java 2 • i browser non si evolvono parallelam ent e, rim anendo su Java • i browser subiscono successivam ent e evoluzioni " propriet arie" , fra loro non ben com pat ibili Febbraio 2003 IGEA 02- 03 12 • funzionam ent o st andard solo usando Java – m anca la part e m igliore del linguaggio! • Net scape, Mozilla, Opera e Hot Java at t ualm ent e si basano sulla JVM della Sun e quindi su Java 2 • I nt ernet Explorer usa una JVM Microsoft non com pat ibile con Java 2 Febbraio 2003 IGEA 02- 03 13 This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.