Dans cette fiche... |
Difficulté : ![]() ![]() |
Résultat |
Autre exemple : comment
transmettre un texte tapé sur la page HTML à une applet Java ?
Pour tester l'applet, tapez un texte à la place ci-contre, puis cliquez sur le bouton "Modifier le texte". |
// -------------------------------------------- // JSTEXTE : INTERACTION JAVASCRIPT/JAVA // --------------------------------------------
import java.applet.*; import java.awt.*;
public class JSTexte extends Applet { String message;
// Initialisation de l'applet public void init() { // Couleur de fond : noir setBackground(Color.black);
// Message de départ message = "Ce texte peut être modifié via Javascript"; }
// Dessin de l'applet public void paint(Graphics g) { int i;
// Ecrire en blanc g.setColor(Color.white);
// Ecrire le texte g.drawString(message, 10, 30); }
// Changement du texte affiché public void ChangerTexte(String s) { message = s;
// Forcer l'applet à se redessiner repaint(); } }
Les lignes non commentées ont déjà été traitées dans les exemples précédents.
public void ChangerTexte(String s) { message = s; // Forcer l'applet à se redessiner repaint(); } |
C'est cette fonction, déclarée en public,
qui sera appelée par Javascript. Pour plus de détails, reportez-vous à la fiche précédente.
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="Texte" code="JSCouleurs2.class" width=250 height=40> Votre navigateur n'est pas compatible Java ! </applet>
Notez le name="Texte" 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 message, de l'applet nommée elle-même Texte.
<form> <input type="text" name="Saisie" value="Tapez ici un texte" size="20"> <input type="button" name="btnChanger" value="Modifier le texte" onclick="document.Texte.ChangerTexte(Saisie.value);"> </form>