La classe "ActionListener"
Bonjour,
j'ai une petit question quand une classe implemente la classe "ActionListener"
est-ce que on a le droit d'utilider les methode de la classe MouseListener
en plus de la methode "actionPerformed" de la classe "ActionListener" comme sur cet exemle :
Code:
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
|
class FenMenuSurgi extends JFrame implements ActionListener
{
private JPopupMenu couleur ;
private JMenuItem rouge, vert ;
public FenMenuSurgi () /* constructeur de la classe */
{
setTitle("Exemple de menu surgissant") ;
setSize (400,120);
couleur = new JPopupMenu() ; /* creation menu surgissant Couleur et ses options Rouge et Vert */
rouge = new JMenuItem ("Rouge") ;
couleur.add(rouge);
rouge.addActionListener(this) ;
vert = new JMenuItem("Vert") ;
couleur.add(vert) ;
vert.addActionListener(this) ;
setLocationRelativeTo(null);
rouge.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,KeyEvent.CTRL_MASK));
addMouseListener(new MouseAdapter() // on a utiliser le MouseAdapter() pour eviter d'inserer tout toute
{ // les autres methodes de la classe ActionListener
public void mouseReleased(MouseEvent Ev1)
{
if (Ev1.isPopupTrigger()) /* la classe MouseEvent dispose dune méthode
"isPopupTrigger" qui fournit la valeur true si le
bouton concerné est celui traditionnellement réservé
aux menus surgissants */
couleur.show (Ev1.getComponent(), Ev1.getX(), Ev1.getY()) ; // La méthode "getComponent" de la classe "MouseEvent",laquelle
} // fournit le composant (objet de type Component ou dérivé)
} ) ; // concerné par lévénement
setVisible(true);
}
public void actionPerformed (ActionEvent Ev2)
{
Object source = Ev2.getSource() ;
System.out.println ("Action avec chaine de commande = "+ Ev2.getActionCommand()) ;
if (source == rouge) System.out.println ("** Action option rouge") ;
if (source == vert) System.out.println ("** Action option vert") ;
}
} |
Merci d'avance pour les réponse:lol: