impossible d integrer un appel javascript utilisant mon applet dans le html.
bonjour, j'ai vu ce ce sujet a été déjà lancé sans pour autant obtenir de réponse alors je poste à mon tour en espérant que quelqu'un m'explique ce qui se passe.
voici mon applet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*les imports sont au dessus enlever pour lisibilité*/
public class FirstApplet extends JApplet {
private JLabel label = new JLabel();
private JButton bouton = new JButton("Cliquez");
private int count = 0;
/**
* Méthode d'initialisation de l'applet
* C'est cette méthode qui fait office de constructeur
*/
@Override
public void init(){
this.setSize(300, 80);
System.out.println("Paramètre passé via la balise <param> : " + this.getParameter("message"));
//On centre le texte du JLabel et on écrit en bleu...
label.setHorizontalAlignment(JLabel.CENTER);
//C'est plus zoli.
label.setForeground(Color.blue);
//Allez, une classe anonyme... Just for the fun ;)
this.bouton.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
label.setText("Vous avez cliqué " + (++count) + " fois sur le bouton");
}
});
//On ajoute nos composants
this.getContentPane().add(bouton, BorderLayout.SOUTH);
this.getContentPane().add(label, BorderLayout.NORTH);
//Et le tour est joué !
}
/**
* Méthode utilisée par Javascript pour mettre à jour
* Celle-ci doit être public afin que Javascript puisse y avoir accès
* Le JLabel
*/
public void doJavascript(){
JOptionPane.showMessageDialog(null,"alert");
System.out.println("Méthode appelée par javascript ! ");
label.setText("Vous avez cliqué " + (++count) + " fois sur le bouton");
}
} |
le html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<html>
<body style="margin:auto;">
<div style="width:100%;text-align:center;background-color:#aef15b;"> </div>
<div style="width:100%;text-align:center;background-color:#aef15b;"> </div>
<div style="width:320px;margin:auto;margin-top:20px;border:5px solid black">
<applet codebase="class/" code="FirstApplet.class" height="80" width="300" hspace="10" vspace="10" name="first" id="firstApplet"></applet>
</div>
<div style="width:100%;text-align:center;background-color:#aef15b;">
<input type="button" value="Lancer la méthode de l'applet" onClick="document.applets['first'].doJavascript()"/>
</div>
<script type="text/javascript">
document.write("n applet ont été trouvés: " + document.applets.length +" applets Java")
</script>
</body>
</html> |
Mon applet se charge bien et je suis en mesure d'appuyer sur le bouton, le résultat est celui escompté.
En revanche, mon bouton html appelant une fonction dans l'applet ne fonctionne pas. J'obtiens ce message d'erreur:
Code:
1 2
|
document.applets.first.doJavascript is not a function |
voyez-vous où se situe mon erreur?
merci :D