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:
le html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"); } }
Mon applet se charge bien et je suis en mesure d'appuyer sur le bouton, le résultat est celui escompté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
En revanche, mon bouton html appelant une fonction dans l'applet ne fonctionne pas. J'obtiens ce message d'erreur:
voyez-vous où se situe mon erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 document.applets.first.doJavascript is not a function
merci
Partager