1 / 20

Applet Java

Applet Java. introduzione. Introduzione. Un’applet Java: Una applet (" applicazioncina ") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet Apporta dinamicità alle pagine HTML "statiche"

sheri
Download Presentation

Applet Java

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. Applet Java introduzione

  2. Introduzione Un’applet Java: • Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet • Apporta dinamicità alle pagine HTML "statiche" • Viene eseguita dal browser, che quindi deve incorporare un interprete Java • Può essere scritto con un semplice editor di testo e deve essere salvato con l’estensione .java • Il nome del file deve essere lo stesso della classe • Non deve contenere il main a differenza di un semplice programma java • Viene processato tramite il comando javac.exe che si trova nella cartella java\jdk\bin • Una volta processato seguendo l’istruzione javacnomefile.java, viene prodotto il file nomefile.class, il bytecode • Il programma jdk è free e viene scaricato liberamente dal sito della SUN

  3. Introduzione è organizzata intorno a 4 metodi standard: • init(), che gioca il ruolo del costruttore • start() e stop(), chiamati dal browser ogni volta che occorre avviare /fermare l'applet • destroy(), invocato quando il browser viene chiuso.

  4. File Html • Per far funzionare l’applet java, abbiamo detto che c’è bisogno di un file Html • Il file html si deve trovare nella stessa directory del file processato nomefile.class • L’essenziale da scrivere è il seguente: <html> <applet code= “nomefile.class” width=300 height=30></applet></html> I valori 300 e 30 indicano le dimensioni dell’applet

  5. Un semplice esempio • import java.applet.*;import java.awt.*; public classnomefileextends Applet{ public voidpaint (Graphics g){g.drawString(“Ciao, mondo!!!”,10,50);} } N.b. sono stati scritti in grassetto i comandi standard. I numeri 10, 50 stanno ad indicare le coordinate dove iniziare a scrivere

  6. I package • Java ha dei package , un gruppo di classi utili per determinate operazioni • import = è un comando che indica al compilatore quali dati deve caricare in memoria. • Java, javax sono superclassi • I package più utilizzati sono javax.swing e java.awt, java.applet. • Scrivendo * alla fine, vuol dire che si importano tutte le sottoclassi del package • I package java.awt e javax.swing contengono le classi e le interfacce necessarie per creare e manipolare le interfacce utenti grafiche, le interfacce per i componenti GUI • awt = AbstractWindowingTools. È una classe grafica • java.applet.Applet = classi standard per un'applet cioè la superclasse java e la rispettiva sottoclasse applet e la sottoclasse seguente Applet. • extends = dichiarerà l'appartenenza della classe creata alle superclassi elencate.

  7. Un po’ di geometria • import java.applet.JApplet;import java.awt.Graphics; public class geometria extends Applet{ public voidpaint (Graphics g){g.drawLine(15,10,210,150); //disegna una linea passante //per due punti P(15,10) Q(210,150) g.drawRect(10, 20,40,200);} }

  8. Strutture di controllo • Il java somiglia molto al C++ • Riportiamo una serie di esempi • import java.applet.JApplet;import java.awt.Graphics; public class geometria1 extends Applet{ public voidpaint (Graphics g){for( int i=0;i<10;i++)g.drawLine(15,10,210,150*i); } } • In questo esempio si traccia un fascio di rette

  9. Strutture di controllo • Lo stesso esempio si poteva fare con do while • import java.applet.JApplet;import java.awt.Graphics; public class geometria1 extends Applet{ public voidpaint (Graphics g){int i=0; do { g.drawLine(15,10,210,150*i); i++; }while (i<10); } }

  10. Switch • import java.awt.Graphics; • import javax.swing.*; • public class test extendsJApplet{ • int scelta; • public voidinit(){ • String input; • input=JOptionPane.showInputDialog("scrivi 1 se vuoi rette\n"+ • "scrivi 2 se vuoi rettangoli\n"+ • "scrivi 3 se vuoi dei cerchi"); • scelta=Integer.parseInt(input);} • public voidpaint(Graphics g){for(int i=0;i<10;i++){ • switch(scelta){ • case 1: g.drawLine(10,10,250,10+10*i); break; • case 2:g.drawRect(10+i*10,10+i*10,50+i*50,50+i*50);break; • case 3: g.drawOval(10+i*10,10+10*i,50+10*i,50+10*i);break; • default:JOptionPane.showMessageDialog(null,"numero non valido"); • }}}}

  11. Metodi standard • init • start • stop • destroy

  12. Voidinit • public voidinit( ) = dichiara il metodo init dove verrà richiamata la variabilie prima citata. Il metodo init( ) è il metodo di sistema che si occupa dell'inizializzazione di tutte le variabili. Questo metodo viene richiamato automaticamente quando l'applet viene lanciato e poi non viene più utilizzato quindi è importante utilizzarlo solo per inizializzare le variabili e gli oggetti.

  13. Start, stop, destroy • start() che viene chiamato dal browser ogni volta che l'applet deve essere riavviata – tipicamente riavvia un'animazione o un thread – non occorre implementarlo se non ci sono animazioni o thread da riattivare • stop() viene chiamato dal browser ogni volta che l'applet deve essere fermata – tipicamente ferma un'animazione o un thread – non occorre implementarlo se non ci sono animazioni o thread da fermare • destroy()viene chiamato dal browser quando il browser stesso si chiude

  14. Un testo più colorato • import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class esempio2 extendsjava.applet.Applet{       Color col;       Font carattere; String testo;       public voidinit( )       { col=new Color(255,40,40); carattere=new Font("Arial",Font.BOLD,28); testo=newString(getParameter("text"));       }       public voidpaint(Graphics g)       { g.setColor(col); g.setFont(carattere); g.drawString(testo,50,80);       } }

  15. col=new Color(255,40,40) definisce il nuovo colore che andremo a creare con i valore decimali (R,G,B) per la nostra scritta carattere=new Font("Arial",Font.BOLD,28) definisce il tipo, lo stile e la dimensione del carattere; in questo caso avremo un carattere di tipo Arial in grassetto con dimensione di 28 pixel. Font.BOLD indica il grassetto, Font.PLAIN lo stile normale e Font.ITALIC lo stile corsivo g.setColor/g.setFont = sono specifiche del metodo paint che permettono la visualizzazione del colore e del carattere su schermo <html> <head> <title>Esempiotestodicolorerosso</title> </head> <body> <center> <applet code="esempio2.class" width="230" height="180"> <param name="text" value="APPLET"> </applet> </center> </body> </html>

  16. Un po’ di sfumature • import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class sfumatura extendsjava.applet.Applet{       Color col;       Color col1;       Color col2;       Color col3;       Font carattere;       public voidinit( )       { col=new Color(0,0,255); carattere=new Font("Arial",Font.PLAIN,40);       col1=new Color(1,150,255);       col2=new Color(1,204,255);       col3=new Color(1,234,255); setBackground(Color.white);       }       public voidpaint(Graphics g)       { g.setFont(carattere); g.setColor(col); g.drawString("APPLET",60,70); g.setColor(col1); g.drawString("APPLET",57,67); g.setColor(col2); g.drawString("APPLET",54,64); g.setColor(col3); g.drawString("APPLET",51,61);       } }

  17. Tante figure geometriche • import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class forme extendsjava.applet.Applet{       public voidinit()       { setBackground(Color.white);       }       public voidpaint(Graphics g)       { g.setColor(Color.yellow); g.fillOval(16,15,42,42); g.setColor(Color.green); g.fillRect(70,100,90,40); g.setColor(Color.red); g.drawOval(70,15,72,50); g.setColor(Color.green); g.drawRect(180,21,44,66); g.setColor(Color.red); g.drawLine(30,140,60,80); g.setColor(Color.green); g.drawArc(80,160,80,50,50,140); g.setColor(Color.pink); g.fillArc(160,160,80,50,50,120);       } }

  18. Un po’ di spiegazioni • g.fillOval(x1,y1,l1,l2) disegna un ovale riempiendolo con il colore settato. I valori x1 y1 sono le coordinate dell'angolo in alto a sinistra, l1 a lunghezza del diametro orizzontale, l2 la lunghezza del diametro verticale. g.fillRect(x1,y1,x2,y2) disegna un rettangolo riempiendolo con il colore settato. Le quattro coordinate sono rispettivamente le coordinate dell'angolo in alto a sinistra e dell'angolo in basso a destrag.drawOval(x1,y1,l1,l2) disegna un ovale. I valori rappresentano rispettivamente: x1e y1 le coordinate dell'angolo in alto a sinistra, l1 a lunghezza del diametro orizzontale, l2 la lunghezza del diametro verticale.

  19. Un po’ di spiegazioni • g.drawRect(x1,y1,x2,y2) disegna un rettangolo del colore settato. Le quattro coordinate sono rispettivamente le coordinate dell'angolo in alto a sinistra e dell'angolo in basso a destrag.drawLine(x1,y1,x2,y2) disegna una linea di colore settato. I valori rappresentano rispettivamente le coordinate dell'angolo in alto a sinistra, le coordinate in basso a destra. g.drawArc(x1, y1,l1,l2,t,alpha) disegna un'arco vuoto di colore settato. I valori rappresentano rispettivamente: x1,y1 le coordinate dell'angolo in alto a sinistra, l1 la lunghezza del diametro orizzontale, l2 la lunghezza del diametro verticale, t il punto di partenza dell'angolo dell'arco e alpha l'angolatura dell'arco g.fillArc(x1,y1,l1,l2,t,alpha) disegna un'arco pieno di colore settato.

  20. thread • Java è un linguaggio che può essere eseguito logicamente in molti luoghi nello stesso momento, per motivo è detto multi-thread. • I thread logici rappresentano una serie di processi logici che condividono la stessa memoria della applicazione che li ha creati. • In Java, esistono un certo numero di thread che vengono avviati dalla virtualmachine in modo del tutto trasparente all'utente

More Related