applet = ?

Une applet est une classe chargée par le browser Web. En local l'interpréteur Java instancie (i.e. crée) un objet de cette classe et lance la méthode init() sur cet objet. Suivant le contexte c'est parfois cet objet qui est appelé une applet.

Cet objet est aussi un panneau (objet de la classe Panel) dans le navigateur et on indique donc la largeur et la hauteur de ce panneau comme attribut (WIDTH et HEIGHT) de la balise <APPLET . . . > de la page HTML.

Cette classe est obligatoirement une classe dérivée public de la classe Applet. On doit donc écrire :

public class MonApplet extends java.applet.Applet {
   ...
}

la classe Applet fournit des méthodes pour :
- pouvoir être interfacée avec le navigateur
- pour pouvoir créer un interface graphique dans le navigateur et gérer les événements (exposition, manipulation souris, clavier, . . .).

remarques
On a tout ceci grâce à l'héritage :
Object -> Component -> Container -> Panel -> Applet.

Les différents états d'une applet

Ce sont les méthodes init(), start(), stop() , destroy():

Plus précisément :
public void init() { ... }
est lancée au moment où l'applet est chargée par le browser

public void start() { ... }
est lancée :
   - après init()
   - lorsque l'applet est "visitée" i.e. lorsque le navigateur revient sur la page HTML contenant l'applet (par le bouton "back" du navigateur) ou bien après désiconification du navigateur .

public void stop() { ... }
est lancée lorsque l'applet n'est plus à l'écran : par exemple quand le navigateur quitte la page HTML contenant l'applet ou lorsque le navigateur est iconifié.

public void destroy() { ... }
est lancée lorsque l'applet est déchargée du cache du navigateur.

en résumé :
init()
   start()
   stop()
destroy()
On peut aussi formaliser ces états à l'aide d'un automate d'"états-transitions" :