Dans cette fiche...

Description de l'applet

Difficulté : Résultat
Vous êtes sans doute habitué à définir les paramètres d'une applet dans une page HTML.
Du genre : <param name="xxx" value="yyy">.
Mais comment l'applet les lit-elle ?
Votre navigateur n'est pas compatible Java !

 

Listing de l'applet

// --------------------------------------------------
// LECTURE DE PARAMETRES EN JAVA
// --------------------------------------------------
import java.applet.*;
import java.awt.*;
public class Parametres extends Applet
{
	String s;
	String s1;
	int i;
	public void init()
	{
		// Couleur de fond de l'applet
		setBackground(Color.black);
		// Lire le paramètre NOM, de type chaîne
		s = getParameter("NOM");
		// Lire le paramètre AGE, de type entier
		s1 = getParameter("AGE");

		if (s1 == null)
			i = 0;
		else
			i = Integer.parseInt(s1);
	}
	// On affiche tout ça !
	public void paint(Graphics g)
	{
		g.setColor(Color.orange);
		g.drawString("Votre nom : " + s, 10, 20);
		g.drawString("Votre âge : " + i, 10, 40);
	}
}

Télécharger le listingTélécharger le listing

 

Le listing en détail...

Comme d'habitude, seules les nouveautés sont commentées.

// Lire le paramètre NOM, de type chaîne
s = getParameter("NOM");
C'est grâce à la méthode getParameter() qu'on lit la valeur d'un paramètre.
Cette méthode renvoie toujours une chaîne de caractères : ça tombe bien pour l'instant, puisque s est de type String.
Pour que le paramètre NOM soit lisible, il faut l'avoir écrit dans la page HTML, grâce à :

<param name="NOM" value="Bob">
(lisez le bas de cette page pour voir le code HTML complet).

Et si on a oublié le tag <param...> ?
Dans ce cas, la méthode getParameter() renvoie une chaîne de valeur null (non, il ne manque pas de "e"  :-)).
On peut d'ailleurs la tester en faisant :

if (getParameter("NOM") == null)
	s = "???";
else
	s = getParameter("NOM");
Les habitués feront comme en langage C :
s = (getParameter("NOM") == null) ? "???" : getParameter("NOM");
// Lire le paramètre AGE, de type entier
s1 = getParameter("AGE");
if (s1 == null)
	i = 0;
else
	i = Integer.parseInt(s1);
Cette fois, on lit le paramètre AGE, qui doit nous donner un nombre entier (int).
Il faut donc lire le paramètre (de type String) et le convertir en entier. En passant, on en profite pour vérifier que le paramètre existe bien, pour ne pas faire échouer la conversion.

Une fois la chaîne s1 lue, la conversion en entier se fait par :

i = Integer.parseInt(s1);

Rien n'empêche maintenant de faire des calculs avec la valeur i.
 

 

Intégration de l'applet dans la page

Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :

<applet code="Paramtres.class" width=200 height=50>
<param name="NOM" value="Bob">
<param name="AGE" value="30">
Votre navigateur n'est pas compatible Java !
</applet>

C'est grâce aux tags <PARAM ...> que les valeurs sont transmises à l'applet, et lues par getParameter().
En principe, les guillemets sont facultatifs autour du 30 (qui représente un chiffre).
Enfin, les noms de paramètres peuvent être écrits indifféremment en majuscules ou en minuscules.

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.

 

Hit-Parade