Les applets

Introduction

À côté des applications autonomes qui peuvent être lancées au travers d'une JVM par la commande java, il est possible de développer des applications qui seront exécutées sous le contrôle d'un navigateur Internet (par exemple netscape ou explorer).

Les applets sont référencées dans les pages HTML sous la forme


     
     <applet code="nonDeLApplet.class" width="xxx" height="xxx" >    
     </applet>    

Les attributs code, width, et height de la balise applet sont obligatoires.

On peut ajouter d'autres attributs à cette balise :


La balise param permet par ailleurs de définir un paramètre dont la valeur sera récupérable dans l'applet par la méthode getParameter. Cette balise contient les attributs name et value.


La classe Applet

une applet est une instance d'une sous-classe publique de la classe Applet.
Cette classe est elle-même une sous-classe de la classe Panel qui est un conteneur graphique : cela a pour conséquence immédiate qu'une applet dispose d'une interface graphique.

Contrairement à ce qui se passe pour une application autonome, la définition d'une applet ne contient pas de méthode main.


Comment une applet est initialisée

Lorsqu'une demande d'exécution d'une applet est formulée, la classe de l'applet est automatiquement instanciée avec le constructeur par défaut et la méthode init de cette instance est invoquée. Cette méthode signale que l'applet a été chargée. Elle peut être surchargée pour réaliser des initialisations qui ne l'auraient pas été dans le constructeur ou créer de nouvelles threads.

Après invocation de la méthode init, la méthode start est invoquée à son tour par le navigateur. Cela a pour effet de rendre l'application active.

Toute modification de l'applet en tant que contexte graphique entraîne l'invocation de la méthode paint(Graphics gr) qui assure sa réactualisation. Cette méthode est typiquement surchargée lors de la définition d'une applet.

En tant que sous-classe de la classe Panel, la classe Applet en hérite de son interface (ainsi que de celles de Component et de Container).

La classe Applet définit par ailleurs une interface de l'application avec son environnement.
Parmi les méthodes les plus utiles et qui peuvent être surchargées (beaucoup ne font rien par défaut) citons :

Exemple


   --> cat UneApplet.java
   import java.awt.*;
   import java.applet.*;
   public class UneApplet extends Applet{
       String chaine1;
       String chaine2;
       public UneApplet( ){
          chaine1 = "Bonjour";
       }
       public void start(){
          String fonte = getParameter("fonte");
          setFont(new Font(fonte, Font.BOLD, 16));
          chaine2 = "EN AVANT ...";
       }
       public void paint(Graphics g){
          g.drawString(chaine1 , 50, 100);
          g.drawString(chaine2, 150, 200);
          g.drawString("Salut !!!", 250, 300);
      }
   }
   --> cat UneApplet.html
   <html>
   <body>
      <applet code="UneApplet.class" width="400" height="400">   
      <param name="fonte" value="Helvetica">
      </applet>
   </body>
   </html>

Exécution de l'applet




Dernière mise à jour : 18 juin 2005

Valid XHTML 1.0! Valid CSS!