J'ai une classe qui h=E9rite de JPanel. Pour que cette classe re=E7oive
les =E9vennements de souris :
public class JPanelGraph
extends JPanel
implements MouseListener {
public JPanelGraph() {
super();
this.addMouseListener(this);
}
Mais ce n'est pas la bonne fa=E7on, car il faudrait que je surcharge
*tous* les constructeurs.
Y-a-t-il une m=E9thode de JPanel a surcharger afin qu'il n'y ai qu'un
endroit o=F9 faire l'insription au mouseListener ? Ou bien faut il
utiliser un autre pattern et dans ce cas quel est-il ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raphael Tagliani
Utilise MouseAdapter.
Bonjour, une p'tite question de conception.
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive les évennements de souris : public class JPanelGraph extends JPanel implements MouseListener { public JPanelGraph() { super(); this.addMouseListener(this); } Mais ce n'est pas la bonne façon, car il faudrait que je surcharge *tous* les constructeurs.
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un endroit où faire l'insription au mouseListener ? Ou bien faut il utiliser un autre pattern et dans ce cas quel est-il ?
Merci beaucoup, Cyrille.
Utilise MouseAdapter.
Bonjour,
une p'tite question de conception.
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive
les évennements de souris :
public class JPanelGraph
extends JPanel
implements MouseListener {
public JPanelGraph() {
super();
this.addMouseListener(this);
}
Mais ce n'est pas la bonne façon, car il faudrait que je surcharge
*tous* les constructeurs.
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un
endroit où faire l'insription au mouseListener ? Ou bien faut il
utiliser un autre pattern et dans ce cas quel est-il ?
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive les évennements de souris : public class JPanelGraph extends JPanel implements MouseListener { public JPanelGraph() { super(); this.addMouseListener(this); } Mais ce n'est pas la bonne façon, car il faudrait que je surcharge *tous* les constructeurs.
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un endroit où faire l'insription au mouseListener ? Ou bien faut il utiliser un autre pattern et dans ce cas quel est-il ?
Merci beaucoup, Cyrille.
Black Myst
Bonjour, une p'tite question de conception.
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive les évennements de souris : public class JPanelGraph extends JPanel implements MouseListener { public JPanelGraph() { super(); this.addMouseListener(this); } Mais ce n'est pas la bonne façon, car il faudrait que je surcharge *tous* les constructeurs. Pourquoi serais-tu obligé de 'surcharger' tous les constructeurs ?
Ce qui est courrant, c'est de faire une méthode private 'init()' qui fait ce que tu as besoin (initialisation de tous tes listeners...) et qui est appelé par tous les constructeurs de ta classe.
(D'ailleur je suis pas sur qu'il soit correct de parler de surcharge de constructeur, mais c'est une autre histoire...)
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un endroit où faire l'insription au mouseListener ? Ou bien faut il utiliser un autre pattern et dans ce cas quel est-il ? Il n'est pas nécessaire de surcharger JPanel pour ajouter un
mouseListener... tout dépends de ce que tu veux faire.
Black Myst
Bonjour,
une p'tite question de conception.
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive
les évennements de souris :
public class JPanelGraph
extends JPanel
implements MouseListener {
public JPanelGraph() {
super();
this.addMouseListener(this);
}
Mais ce n'est pas la bonne façon, car il faudrait que je surcharge
*tous* les constructeurs.
Pourquoi serais-tu obligé de 'surcharger' tous les constructeurs ?
Ce qui est courrant, c'est de faire une méthode private 'init()' qui
fait ce que tu as besoin (initialisation de tous tes listeners...) et
qui est appelé par tous les constructeurs de ta classe.
(D'ailleur je suis pas sur qu'il soit correct de parler de surcharge de
constructeur, mais c'est une autre histoire...)
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un
endroit où faire l'insription au mouseListener ? Ou bien faut il
utiliser un autre pattern et dans ce cas quel est-il ?
Il n'est pas nécessaire de surcharger JPanel pour ajouter un
mouseListener... tout dépends de ce que tu veux faire.
J'ai une classe qui hérite de JPanel. Pour que cette classe reçoive les évennements de souris : public class JPanelGraph extends JPanel implements MouseListener { public JPanelGraph() { super(); this.addMouseListener(this); } Mais ce n'est pas la bonne façon, car il faudrait que je surcharge *tous* les constructeurs. Pourquoi serais-tu obligé de 'surcharger' tous les constructeurs ?
Ce qui est courrant, c'est de faire une méthode private 'init()' qui fait ce que tu as besoin (initialisation de tous tes listeners...) et qui est appelé par tous les constructeurs de ta classe.
(D'ailleur je suis pas sur qu'il soit correct de parler de surcharge de constructeur, mais c'est une autre histoire...)
Y-a-t-il une méthode de JPanel a surcharger afin qu'il n'y ai qu'un endroit où faire l'insription au mouseListener ? Ou bien faut il utiliser un autre pattern et dans ce cas quel est-il ? Il n'est pas nécessaire de surcharger JPanel pour ajouter un
mouseListener... tout dépends de ce que tu veux faire.