bonjour,
J'ai crée le code d'une applet dans une classe nommée FirstApplet.
Ensuite, j'ai crée un fichier .html nommé FirstApplet.html ( dans le même projet que celui où j'ai crée le fichier FirstApplet.java)dans lequel je fais appel à la fonction doJavascript() de la classe FirstApplet .
Cet appel est provoqué après un click sur un bouton de la page FirstApplet.html sur lequel est écrit "lancer la méthode de l'applet".
L'appel de cette fonction permet de voir en console le message
"Méthode appelée par javascript ! " et de voir sur le label de l'applet le nombre de fois que l'on a cliqué sur le bouton de l'applet.
Mon problème est qu'au niveau de la page html je ne vois que le bouton sur lequle est ecrit "lancer la méthode de l'applet" mais rien ne se passe lorsque je clique dessus.
Pouvez-vous m'expliquer pourquoi?
Je vous en remercie beaucoup.
Voici le code de le classe FirstApplet et celui de la page .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
48
49
50
51
52
53
54
55 import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JLabel; public class FirstApplet extends JApplet{ protected JLabel label ; private JButton bouton ; protected int count = 0; /** * Méthode d'initialisation de l'applet * C'est cette méthode qui fait office de constructeur */ public void init(){ this.setSize(300, 80); label = new JLabel(); bouton = new JButton("Cliquez"); count = 0; //On centre le texte du JLabel et on écrit en bleu... label.setHorizontalAlignment(JLabel.CENTER); //C'est plus joli. label.setForeground(Color.blue); System.out.println("Paramètre passé via la balise <param> : " + this.getParameter("message")); this.bouton.addActionListener(new ActionListener(){ 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(){ System.out.println("Méthode appelée par javascript ! "); label.setText("Vous avez cliqué " + (++count) + " fois sur le bouton"); } }
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 <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;"> <input type="button" value="Lancer la méthode de l'applet" onClick="document.applets['first'].doJavascript();"/> </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="bin/" code="FirstApplet.class" height="80" width="300" hspace="10" vspace="10" name="first" id="firstApplet"> <param name="message" value="Message pour les ZérOs"> </applet> </div> </body> </html>
Partager