Bonjour à tous,

Voici le contexte de mon problème :

J'ai un applet qui est défini de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public class MonApplet extends Applet {
  private String str = "A";
  public String getStr() { return str; }
  ...
  public void start() {
    str = "B";
    System.out.println("Dans console : " + str);
  }
}
et je voudrais récuperer la valeur de la chaine str avec ma fonction javascript suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
function aff() {
  document.write("Voici le contenu de str : <br>")
  document.write("Dans Javascript :  " + document.getElementById("MonApplet").getLogin() + "<br>")
}
Quand j'excecute mon programme dans un navigateur (IE ou Firefox), j'obtenais le résultat suivant :
coté java :
------------
Dans la console : B

coté javascript :
------------------
Voici le contenu de str :
Dans Javascript : A <- ici j'ai comrpi que le javascript n'attendait pas que l'applet ai fini ses modifications.

J'ai donc utilisé dans mon code HTML onload dans la balise BODY :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<BODY onload="aff();">
Mais voici mes messages d'erreur depuis ce changement :
coté java :
------------
java.lang.NullPointerException
at sun.plugin.viewer.LifeCycleManager.startAppletPanel(Unknown Source)
at sun.plugin.viewer.WNetscapePluginObject.startPlugin(Unknown Source)
at sun.plugin.viewer.WNetscapePluginObject$Initer.run(Unknown Source)

coté javascript :
------------------
Affichage de "Voici le contenu de str :"
et l'erreur que je récupère dans la console javascript de Firefox : Erreur : document.getElementById("MonApplet") has no properties

Si j'ai bien compris on dirait qu'après l'execution de l'applet la variable str soit vide. Après avoir testé plusieurs combinaisons, je ne vois pas comment faire.

Merci pour votre aide