| Dans cette fiche... |
| Difficulté :
|
Résultat |
| Comme dans la
fiche précédente, des boutons Javascript permettent de changer la couleur de
l'applet. Cette fois, tous les boutons fonctionnent. La technique employée est un peu différente... |
// -------------------------------------------- // JSCOULEURS2 : INTERACTION JAVASCRIPT/JAVA // --------------------------------------------
import java.applet.*; import java.awt.*;
public class JSCouleurs2 extends Applet
{
public String couleur;
// Initialisation de l'applet
public void init()
{
// Couleur de fond : noir
setBackground(Color.black);
// Couleur de départ couleur = "blanc"; }
// Dessin de l'applet
public void paint(Graphics g)
{
int i;
// Couleur par défaut (blanc) g.setColor(Color.white);
// Autres couleurs (si la variable couleur a été modifiée)
if (couleur.equalsIgnoreCase("jaune")) g.setColor(Color.yellow);
if (couleur.equalsIgnoreCase("rouge")) g.setColor(Color.red);
if (couleur.equalsIgnoreCase("vert")) g.setColor(Color.green);
// Ecrire le texte
g.drawString("Les couleurs de ce texte peuvent être", 10, 30);
g.drawString("modifiées via JavaScript.", 10, 45);
}
// Modification de la couleur
// Cette fonction est appelée par JavaScript
public void ChangerCouleur(String s)
{
couleur = s;
// Forcer le retraçage de l'applet repaint(); } }
Les lignes non commentées ont déjà été traitées dans les exemples précédents.
public void ChangerCouleur(String s)
{
couleur = s;
// Forcer le retraçage de l'applet repaint(); } |
| Cette fois, la variable couleur ne sera pas modifiée
directement par Javascript. A la place, on écrit une fonction (déclarée public
pour être visible depuis Javascript). Cette fonction recevra une chaîne s
(transmise par Javascript), l'affectera à la variable couleur, et enfin provoquera un
appel de la méthode repaint(), pour redessiner l'applet, et donc faire
apparaître les changements. Et cette fois ça marche ! Rappel : void indique que la fonction ne renvoie pas de valeur. |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet name="Couleurs" code="JSCouleurs2.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Notez le name="Couleurs" qui permet de nommer l'applet au niveau de la page HTML. Celle-ci sera ainsi reconnue par Javascript.
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.
Voici le code utilisé pour créer les boutons Javascript, qui modifient l'objet couleur, de l'applet nommée elle-même Couleurs.
<form>
<input type="button" name="BoutonRouge" value="Rouge"
onclick="document.Couleurs.ChangerCouleur('rouge');">
<input type="button" name="BoutonVert" value="Vert"
onclick="document.Couleurs.ChangerCouleur('vert');">
<input type="button" name="BoutonJaune" value="Jaune"
onclick="document.Couleurs.ChangerCouleur('jaune');">
<input type="button" name="BoutonBlanc" value="Blanc"
onclick="document.Couleurs.ChangerCouleur('blanc');">
</form>
| Cette section vous intéresse ? Abonnez-vous ! |
|