Applet
Dott. Ing. Leonardo Rigutini
Dipartimento Ingegneria dell’Informazione
Università di Siena
Via Roma 56 – 53100 – SIENA
Uff. 0577233606
[email protected]
www.dii.unisi.it/~rigutini/
Applet

Una applet è un tipo speciale di programma Java che un browser
abilitato può scaricare da internet ed eseguire.

Le applet sono tipicamente inserite in una pagina web ed eseguite
nel contesto del browser.

Per creare una applet, è sufficiente creare una nuova classe come
sottoclasse della classe java.applet.Applet presente nel JDK che
fornisce l'interfaccia standard tra la applet e l'ambiente del browser.

Swing fornisce una speciale sottoclasse di Applet, chiamata
javax.swing.JApplet, che dovrebbe essere utilizzata per tutte quelle
applets che utilizzano componenti Swing per costruire la loro GUI.
Ciclo di vita di una applet

Quando una applet è caricata in una pagina web, il browser gestisce il ciclo
di vita della applet chiamando appositi metodi definiti nella interfaccia Applet

Ciclo di vita di una applet: fondamentalmente ci sono 4 metodi nella classe
Applet che devono essere implementati:

init: invocato per l'inizializzazione di tutto ciò che è necessario alla
applet. Esso è chiamato subito dopo l'attributo “param” del tag “applet”
dell'html.

start: chiamato automaticamente dopo init. Esso è chiamato anche
quando l'utente ritorna nella pagina della applet dopo aver visitato altre
pagine web.

stop: chiamato automaticamente dal browser quando l'utente lascia la
pagina contenente la applet. Questo è il metodo normalmente utilizzato
per fermare le animazioni.

destroy: chiamato quando il browser viene chiuso normalmente.

Quindi una applet nel suo ciclo di vita, può essere inizializzata una ed una
Applets vs. Applications

Agli inizi, uno dei critici vantaggi che Java applets avevano nei
confronti delle applicazioni java era che esse potevano essere
facilmente distribuite sul web mentre le applicazioni richiedevano un
più complicato processo di installazione.

Inoltre poiché venivano eseguite su client remoti, di default
dovevano essere eseguite in ambiente ristretto per la sicurezza,
chiamato “sandbox”, per assicurare che esse non facessero
operazioni distruttive sul computer dell'utent, come per esempio
letture e scritture su fs.

Comunque l'introduzione di Java Web Strat ha reso possibile che
anche applicazioni Java fossero distribuite sul web e che siano
eseguite in ambiente limitato. Questo significa che ad oggi la più
grande differenza tra java applet e applicazione java sta nel fatto
che la prima viene eseguita nel ambiente del browser web, mentre
la seconda è una applicazione standalone.
Caricare una applet

Per caricare una applet in una pagina web è necessario specificare
la classe applet con una apposito applet tag html:
<applet code=AppletWorld.class width="200" height="200"></applet>

Per lo sviluppo o il test, è possibile eseguire una applet attraverso il
“lightweight appletviewer”, una appliocazione che è fornita con il
JDK. Per esempio, se AppletWorld.html è il file html che contiene la
applet, allora è il comando da utilizzare è:


appletviewer AppletWorld.html
Una volta verificato che la applet funziona attraverso appletviewer, è
importante verificare che essa funzioni correttamente anche in un
browser. Ogni volta che la applet viene ricompilata, è necesssario
che il browser la ricarichi attraverso i tasti "Shift + Reload".
Esempio:

Una applet che disegna un rettangolo e stampa una scritta in una
pagina html.
import javax.swing.JApplet;
import java.awt.Graphics;
public class HelloWorld extends JApplet {
public void paint(Graphics g) {
g.drawRect(0, 0,
getSize().width - 1,
getSize().height - 1);
g.drawString("Hello world!", 5, 15);
}
}

HMTL:
<applet code="HelloWorld.class" codebase="examples/"
archive="helloWorld.jar" height="30" width="150"></applet>