Salut tout le monde,
je suis en train de faire une applet et elle se construit de la forme suivante:
1- une classe "laser" qui est ma classe Applet elle hérite de JApplet
2-six classes panneaux "panneaunord","panneausud","panneauest","panneaucentre","panneauouest" et "panneauresultat"
3-dans ma classe "laser" je place mes cinq panneaux avec un layout
4-dans chaque classe panneau j'utilise une méthode paint dont je me sers pour dessiner diverses choses
5-en particulier dans la classe panneau ouest il y a un JButton qui des que l'on clique dessus doit effacer le panneau central pour le remplacer par le panneau resultat
Je n'ai pas trouvé d'autre moyen que de mettre l'actionListener dans la classe laser de cette manière là dans la méthode init():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 po.jb.addActionListener(new ActionListener() //po est la variable de panneauouest {public void actionPerformed(ActionEvent evt) { remove(pc);//on enlève le panneau central pour pouvoir le remplacer add(pr,BorderLayout.CENTER);//on met le panneauresultat validate(); repaint(); } });
Mais là un problème apparait , pas de souci pour la suppression du panneaucentre et son remplacement par la panneauresultat.Seulement une boucle se met en place.
En effet j'ai utiliser un System.out.println("ok") dans une des methodes paint() de mes classes panneaux et je me suis rendu compte que ça boucle une fois que j'ai appuyé sur le bouton.
J'ai tout testé et ça vient du repaint et du validate de l'écouteur d'événement.
Avez vous une alternative?
Y a-t-il une autre manière d'accède a partir de la classe laser au éléments de mes JPanel?
Je travaille sous NETBEANS.
PJ: mon workspace
Merci d'avance
Cirilio27
Partager