1 / 43

S.I.S.S.I.S. Catania 2002/03

S.I.S.S.I.S. Catania 2002/03. Amuso Raffaele. LE APPLET JAVA. Prof. D. Cantone. Prerequisiti:. Conoscenze di base del linguaggio Java;. Conoscenze delle interfacce grafiche in Java;. Generalità sulle immagini. Obiettivi:.

chaney
Download Presentation

S.I.S.S.I.S. Catania 2002/03

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. S.I.S.S.I.S. Catania 2002/03 Amuso Raffaele LE APPLETJAVA Prof. D. Cantone

  2. Prerequisiti: Conoscenze di base del linguaggio Java; Conoscenze delle interfacce grafiche in Java; Generalità sulle immagini.

  3. Obiettivi: Cognitivi:- Conoscere gli elementi fondamentali di un’applicazione web oriented;- Conoscere le possibili interazioni dell’utente con un’applicazione web; Operativi:- Saper passare i parametri ad un applet;- Saper costruire un applet con elementi grafici ed interfacce utente.

  4. Metodologie: Lezione frontale; Esercitazioni pratiche; Piccoli progetti.

  5. Strumenti: Libro di testo; Appunti dell’insegnante; Calcolatore (JDK e IE).

  6. Verifica/Valutazione: Test V/F; Test pratico in laboratorio.

  7. Tempi: 3 settimane (totale 18 ore).

  8. Contenuti: Introduzione alle Applet;HTML e Applet;La classe Applet;L’appletwiever ed i browser.

  9. Contenuti: Le classi Canvas e Graphics;I metodi grafici;Le immagini e le Applet;L’awt e le Applet;I thread e le Applet;Le Midlet (cenni).

  10. Cosa sono le Applet: Le Applet sono applicativi web oriented scritti in linguaggio Java; Esse possono essere eseguite da un qualunque web browser compatibile con java; Vengono usate soprattutto per applicazioni grafiche e interattive.

  11. Perché le Applet: In origine le pagine web erano spoglie e povere di grafica;Non era possibile creare degli applicativi direttamente nelle pagine web;Tramite le Applet è stato possibile sia aumentare la qualità grafica del web che creare piccoli applicativi all’interno delle pagine.

  12. Come funzionano: javac file.java Bytecode file.html Browser con Java W.M.

  13. Sicurezza: Le Applet risultano sicure poiché, a differenza delle applicazioni, esse hanno alcune importanti restrizioni; Un applet non può compiere le seguenti operazioni: > Leggere e scrivere file locali;> Aprire una connessione con un server diverso da quello che la ospita;> Lanciare altre applicazioni sulla macchina locale;> Invocare il metodo System.exit();> Accedere alle proprietà del sistema.

  14. HTML e Applet: In un file HTML èpossibile richiamare un file in bytecode (.class) contenente un’ applet; Il TAG <APPLET> ci consente di inserire all’interno della nostra pagina HTML un’applet java.

  15. HTML e Applet: I parametri del TAG<APPLET> sono: CODE (nome del file .class)CODEBASE (path della directory di lavoro)HEIGHT e WIDTH (dimensioni dell’applet) All’interno del TAG <APPLET> è inoltre possibile passare i parametri relativi all’applet.

  16. HTML e Applet: ESEMPIO: <HTML><BODY> <APPLETCODE=“file.class” CODEBASE=“.”><PARAM name=p1 value=0> <PARAM name=p2 value=2> <PARAM name=p3 value=“pippo”></APPLET> </BODY></HTML>

  17. La classe Applet: Le applet vengono create estendendo la classe predefinita Applet; +--java.awt.Panel | +--java.applet.Applet Osservando la gerarchia delle classi si vede che la classe applet è una sottoclasse della classe Panel e ne eredita tutte le proprietà(componenti).

  18. La classe Applet: Diversamente dalle applicazioni java non occorre creare un frame, poiché esso è fornito direttamente dal browser che esegue l’applet; Per creare un’applet bisogna importare il package:“java.applet.*”esso infatti rende visibile la classe Applet all’interno del programma.

  19. La classe Applet: La struttura generale di un’applet è la seguente: import java.applet.*; public class <nome dell’applet> extends Applet { // attributi dell’applet // metodi dell’applet }

  20. I metodi delle Applet: I medoti introdotti dalla classeapplet sono: public void init(); public void start(); public void run(); public void stop(); public void destroy(); Essi sono richiamati dal browser o dall’appletviewer. Deve essere ridefinitose l’applet implementa l’interfaccia “runnable”.

  21. I metodi delle Applet: INIT START RUN STOP DESTROY Schema di funzionamento di un’applet:

  22. I metodi delle Applet: La struttura di un applet java sarà quindi la seguente: import java.applet.*; public class <nome dell’applet> extends Applet {public void init() { // Inizializzazione }public void start() { // Parte l’applet }public void run() { // Corpo principale dell’applet }public void stop() { // L’applet si ferma }public void destroy() { // L’applet viene chiusa } }

  23. Canvas e Graphics: Il browser nel quale viene lanciata l’applet crea un frame in automatico. Ad un frame è possibile aggiungere pannelli e quindi componenti (bottoni, menù eccetera). Nel pannello dell’applet è inserito automaticamente un oggetto Canvas Un Canvas è una “tela” dove è possibile disegnare.

  24. Canvas e Graphics: Canvas( contiene il metodo paint ) Finestra dell’applet Per disegnare nel canvas bisogna ridefinire il metodo paint.Dentro il metodo paint è possibile disegnare tramite i metodi della classe Graphics.

  25. Canvas e Graphics: (0,0) (w-1,h-1) Per ottenere le dimensioni del canvas (quindi dell’applet) basta richiamare il metodo getSize().Tale metodo torna i seguenti interi: int w = getSize().width; (torna la larghezza)int h = getSize().height; (torna l’altezza)

  26. Il metodo paint: La finestra dell’applet fornita dal browser è una matrice di pixel wxh, dove andremo a scrivere tramite il metodo Paint. Tale metodo viene richiamato automaticamente. import java.applet.*;import java.awt.*; public class <nome della classe> extends Applet { … …public void paint(Graphics g) { // Ciò che verrà visualizzato nell’applet // Va inserito qui } }

  27. Il metodo paint: Vi sono numerosi metodi per scrivere in tale matrice.Uno dei primi metodi che si usa è drawString:Graphics.drawString(String s,int x,int y);drawString è usato per scrivere del testo nello schermo dell’applet alle coordinate (in pixel) specificate.

  28. La prima Applet: Applet che stampa unastringa a video: import java.applet.*;import java.awt.*; publicclass Hello extends Applet {int X,Y; String S; publicvoid init() { S = new String("Ciao a tutti!"); X=20; Y=20; } public void paint(Graphics g) { g.drawString(S,X,Y); } }

  29. La prima Applet: File HTML che richiama l’applet: <html> <applet code="Hello.class" width=320 height=200></applet> </html> Basta richiamare il file tramite un browser o con l’appletviewer. C:>appletviewer Hello.html

  30. La classe Graphics: I metodi della classe Graphics (da richiamare dentro paint(): Graphics.setColor(Color c); Graphics.drawString(String s,int x,int y); Graphics.fillRect(int x1, int y1, int x2, int y2); Graphics.fillOval(int cx, int cy, int dx, int dy); Graphics.drawRect(int x1, int y1, int x2, int y2); Graphics.drawOval(int cx, int cy, int dx, int dy); Graphics.drawLine(int x1, int y1, int x2, int y2); Graphics.drawImage(Image i, int x,int y, null); Graphics.fillArc(int x, int y, int dx, int dy, int startG, int arcG);

  31. I colori: La gestione dei colori in java è affidata alla classe Color. Esiste una lista di colori predefiniti: Color.black;Color.white;Color.red;Color.green;… Oppure si può istanziare un colore tramite le sue componenti RGB in questo modo:Color rosso = new Color(255,0,0);

  32. Passaggio di parametri: E’ possibile passare dei parametri all’applet dal file HTML (tag PARAM)Ogni parametro ha un nome ed un valore; L’applet legge i parametri tramite il metodo getParameter().

  33. Passaggio di parametri: Applet che stampa unastringa passata come paramero: import java.applet.*;import java.awt.*; public class Hello extends Applet {int X,Y; String S; publicvoid init() { S =getParameter("text"); X=20; Y=20; } publicvoid paint(Graphics g) { g.drawString(S,X,Y); } }

  34. Passaggio di parametri: File HTML che richiama l’applet (con parametri): <html> <applet code="Hello.class" width=320 height=200> <PARAM name=“text” value=“Ciao a tutti!”> </applet> </html> I parametri vengono letti tutti come stringhe, bisogna quindi operare le opportune conversioni nel leggere parametri numerici.

  35. I thread: I thread ci consentono di sfruttare le potenzialità multitasking del S.O.; Ha senso usare i metodi star(), run() e stop() solo quando un applet e implementata come Runnable; In questo caso l’applet viene vista come un processo del S.O. che può avere una priorità, essere fermato, fatto ripartire o trovarsi nellostato di run.

  36. I thread: Per associare una applet ad un thread dobbiamo istanziare la classe Thread. I metodi della classe Thread sono: setPriority(P); start();stop();sleep(M); (P può essere: MAX_ PRIORITY, MIN_ PRIORITY, NORM_ PRIORITY)(M rappresenta i Millisecondi di sleep)

  37. Semplice scrolling: Esempio dell’uso dei thread. import java.applet.*; import java.awt.*; publicclass Hello extends Applet implements Runnable { int X,Y; String S; Thread RUN; publicvoid init() { S = new String("Ciao a tutti!"); X=20; Y=20; } public void start() { RUN=new Thread(this); RUN.setPriority(RUN.MIN_PRIORITY); RUN.start(); } public void run() { while(true) { X++; if(X>320) X=-20; paint(getGraphics()); // Manda a video try{ RUN.sleep(10); } catch(Exception e) {} } } public void stop() { RUN.stop(); } publicvoid paint(Graphics g) { g.setColor(Color.white); g.fillRect(0,0,320,200); g.setColor(Color.black); g.drawString(S,X,Y); } }

  38. Le immagini: Directory dilavoro dell’applet Prende ilvalore del parametro Carical’immagine La gestione delle immagini è compito della classe Image.Un’immagine dovrà essere contenuta in una variabile di tipo Image. Caricamento di un immagineda un file: Image SFONDO;…SFONDO=getImage(getDocumentBase(),getParameter("img"));…

  39. Le immagini: Valore (nome del file) Nome delparametro Il file HTML si presenta cosi: <html> <applet codebase=“.” code="Hello.class“ width=320 height=200><PARAM name=“img” value=“papero.gif”></applet> </html> Sarà possibile stampare l’immagine a video tramite il metodo drawImage().

  40. Esempi finali: Scroll di testo con sfondo; Esempio di A.W.T.; Effetto grafico natalizio.

  41. Le midlet (cenni): javac file.java Bytecode Cellulare con Java W.M. Si usa Java Micro Edition e il wireless toolkit.java.sun.com

  42. Le midlet (cenni): Metodi per il display LCD La “filosofia” delle midlet è simile a quella delle applet. Una midlet è costruita come estensione della classe MIDlet: import javax.microedition.lcdui.*;import javax.microedition.midlet.*; public class <nome midlet> extends MIDlet { // attributi della midlet // metodi della midlet }

  43. Fine!

More Related