Pour commencer, qu'est-ce-qu'une applet Java ? C'est un petit programme, écrit dans le langage de programmation Java qui sera téléchargé sur le PC du visiteur et entièrement exécutée chez lui. Pourquoi vouloir insérer de tels objets ? Car avec un langage bien plus riche comme le Java, on peut programmer des jeux, des applications plus riches, ...
Voici un petit exemple tout bête : une horloge sous forme d'une applet Java :
Et voici le code de l'applet Java :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Clock.java
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.text.*;
/**
* Une horloge en Java
*
* @author Sébastien Combéfis
* @version 2006-10-18
*/
publicclass MyClock extends Applet
{
publicvoid init()
{
newTimer().schedule (newTimerTask()
{
publicvoid run()
{
repaint();
}
}, 1000, 1000);
}
publicvoid paint (Graphics g)
{
g.setColor (Color.BLACK);
g.fillRect (0, 0, getWidth(), getHeight());
g.setColor (Color.WHITE);
Date now = newDate();
DateFormat df = DateFormat.getTimeInstance();
g.drawString (df.format (now), 20, 15);
}
}
listing h7.3 Fichier MyClock.java
L'élément APPLET
Une des manières à utiliser pour insérer une applet Java dans un document HTML est en passant par l'élément APPLET. Mais comme on l'a vu à la section précédente, il s'agit de l'élément spécifique et on peut insérer des applets avec l'élément générique OBJECT.
listing h7.4 Insérer une applet avec l'élément APPLET
Tout d'abord, la balise fermante est obligatoire et entre les deux balises, on peut placer un texte de remplacement qui sera affiché par les navigateurs qui ne supportent pas les applets ou si l'utilisateur n'a pas installé une machine virtuelle Java, nécessaire à l'exécution des applets.
Ensuite, avec l'attribut code, on spécifie le nom de la classe qu'il faut exécuter, il s'agit de la classe qui étend la classe java.applet.Applet, on peut avec l'attribut codebase préciser où trouver la classe si celle-ci n'est pas dans le même dossier que la page HTML, enfin, on précise la largeur et la hauteur de l'applet.
Il y a encore une série d'attributs à l'élément APPLET, mais nous n'allons pas les détailler ici, en effet, il s'agit d'attributs techniques relatifs à Java.
Insérer une applet avec l'élément OBJECT
Il est donc possible d'insérer une applet avec l'élément OBJECT, et c'est la manière recommandée de le faire étant donné que l'élément APPLET est déprécié.
listing h7.5 Insérer une applet avec l'élément OBJECT
Spécifier des paramètres
Vous le savez peut-être, ou non mais il est possible de fournir des paramètres à un programme. Par exemple, on peut écrire une applet dont la couleur de fond change selon la valeur d'un paramètre. On va écrire une seule classe Java et lors de l'insertion de l'applet dans le document HTML, on spécifiera la couleur de fond.
Pour spécifier des paramètres à un objet, on utilise l'élément PARAM. Cet élément n'a pas de balise fermante et possède deux attributs : name qui est le nom du paramètre et value qui est sa valeur.
On peut utiliser cet élément aussi bien avec l'élément APPLET qu'avec l'élément OBJECT. Voici par exemple une applet Java qui va jouer un morceau de musique. On spécifie le fichier MP3 à jouer grâce à un paramètre nommé mp3file.