Applet Java introduzione
Introduzione Un’applet Java: è un’applicazione Java che gira tramite un browser 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 javac nomefile.java, viene prodotto il file nomefile.class, il bytecode Il programma jdk è free e viene scaricato liberamente dal sito della SUN attualmente ORACLE.
Installare java Per processare un file con estensione .java, bisoga scaricare il file jdk Il programma sarà installato in c: program files\ Affinchè il programma javac sia eseguito da qualsiasi directory, bisogna mettere manualmente il percorso Si sceglie con il tasto destro le proprietà del pc, come indicato in figura della slide successiva
Installare java jdk fase 1
Installare java jdk fase 2 Si apre il menù a tendina
Installare java jdk fase 3
Installare java jdk fase 4
Installare java jdk fase 5
Installare java jdk fase 6 Da proprietà di sistema
Installare java jdk fase 7 Da variabile d’ambiente Si sceglie nuova
Installare java jdk fase 8
Installare java jdk fase 9 In nome variabile si mette java_jdk In valore variabile si scrive: c:\program files\java\jdk1.8.0_73 Si cerca poi path
Installare java jdk fase 10
Installare java jdk fase 11 Alla fine del path si aggiunge il path: ;c:\program files\java\jdk1.8.0_73\bin
Installare java jdk fase 12
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.
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
Un semplice esempio import java.applet.*; import java.awt.*; public class nomefile extends Applet { public void paint (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
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 = Abstract Windowing Tools. È 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.
Un po’ di geometria import java.applet.JApplet; import java.awt.Graphics; public class geometria extends Applet { public void paint (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); } }
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 void paint (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
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 void paint (Graphics g) {int i=0; do { g.drawLine(15,10,210,150*i); i++; }while (i<10); } }
Switch import java.awt.Graphics; import javax.swing.*; public class test extends JApplet{ int scelta; public void init(){ 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 void paint(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"); }}}}
Metodi standard init start stop destroy
Void init public void init( ) = 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.
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
Un testo più colorato import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class esempio2 extends java.applet.Applet { Color col; Font carattere; String testo; public void init( ) { col=new Color(255,40,40); carattere=new Font("Arial",Font.BOLD,28); testo=new String(getParameter("text")); } public void paint(Graphics g) { g.setColor(col); g.setFont(carattere); g.drawString(testo,50,80); } }
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>Esempio testo di colore rosso</title> </head> <body> <center> <applet code="esempio2.class" width="230" height="180"> <param name="text" value="APPLET"> </applet> </center> </body> </html>
Un po’ di sfumature import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class sfumatura extends java.applet.Applet { Color col; Color col1; Color col2; Color col3; Font carattere; public void init( ) { 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 void paint(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); } }
Tante figure geometriche import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class forme extends java.applet.Applet { public void init() { setBackground(Color.white); } public void paint(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); } }
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 destra g.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.
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 destra g.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.
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 virtual machine in modo del tutto trasparente all'utente
Eseguire una applet Per eseguire una applet java bisogna abilitare il proprio browser Il browser indicato è firefox Una volta scaricato, bisogna andare nelle impostazioni di java Da windows 8 si va nel pannello principale come nella slide successiva Se non si riesce a trovare, si va in cmd e si scrive javacpl
Compare questa schermata
Configurare il browser Si seleziona sicurezza
Configurare il browser Si sceglie modifica lista compare
Abilitare il browser Si seleziona aggiungi e, si scrive l’indirizzo URL della applet oppure il pecorso della applet sul pc
Applet offline La applet può essere visualizzata anche tramite il comando appletviewer dal cmd Naturalmente, si ci posiziona nella directory della applet e si scrive appletviewer nomefile.html