mastermario
Messages postés24Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention28 mars 2006
-
9 févr. 2006 à 11:08
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 2011
-
9 févr. 2006 à 13:20
s'il vous plait, je me trouve devant un problème assez chiant ^^
j'ai besoin d'implement plussieur ecouteur pour un meme class (ecouteur
de bouton, d'onglets , ...), j'ai donc decider de mettre mon ecouteur
addactionlistener dans un autre class, mais maintenant il ne marche
plus :(
voila mon prog :
Fenetre {
GridBagConstraints BSTOP = new GridBagConstraints();
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 9 févr. 2006 à 11:52
le truc c est que avant dans ta classe fenetre t avais une vue sur STOP, la t es dans une autre classe et c est donc impossible d avoir un access a STOP a moins de le passer dans le constructeuur de ton Ecouteur
(d ailleurs suivant ton code j comprend mm pas que ca compile)
de tte facon j suis pas sur que ce soit tres bien ce que tu fais puisque tu va faire exploser le nb de tes classes, un listener par composant c bcp
t as qu a faire une méthode qui ajoute tous les listener :
public void addEvents(){
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//tu fé ton stop
}
});
panel1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//tu fé ce que tu veux
}
});
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 9 févr. 2006 à 12:06
non t as plus de classe ecouteur maintenant ta la fenetre principale dans le constructeur tu fais appel a la fonction addEvents() qui va ajouter tous les listener a chaque composant de ta fentre,
- ainsi t aura acces a chaque composant vu que ta fenetre les aura en variable
- ca t évitera d avoir à coder 20 listener si tu veux ajouter 20 action sur 20 composants dans ta fentre
et donc t oublie ta classe Ecouteur
++ Toinou
Vous n’avez pas trouvé la réponse que vous recherchez ?
mastermario
Messages postés24Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention28 mars 2006 9 févr. 2006 à 12:08
cela ne va t il pas me gener si j'implements ma class principale en actionlistener si je veux utiliser d'autre ecouteur apres ? par exemple des MouseListener ou des ecouteurs de comboxbox (que je sais pas encore faire mais bon ^^)
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 9 févr. 2006 à 13:20
j t ai jamais dis que ta classe principale devait implémenter ActionListener !! l'implémentation du listener est fait quand tu écris
panel1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
//tu fé ce que tu veux
}
});
car tu crée une classe qui implémente actionlistener en faisant le
new ActionListener(){
public void actionPerformed(ActionEvent e) {
//tu fé ce que tu veux
}
}
si jamais tu veux mettre un mouse listener si ta fenetre par exemple t as qu a faire dans la fonciton addEvents()
this.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
//blabla
}
public void mouseEntered(MouseEvent e){
//blabla
}
public void mouseExited(MouseEvent e) {
//blabla
}
public void mousePressed(MouseEvent e) {
//blabla
}