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>