La gestion des évènements de la souris

La plupart des projets JAVA utilisent une interface graphique. Aussi, afin de garantir un haut niveau d’interactivité avec l’utilisateur, l’interface doit être capable de gérer les évènements de souris pour, par exemple, déterminer sur quel composant graphique un utilisateur a cliqué ou bien l’action qu’il tente d’effectuer sur celui-ci.

Pour intégrer la gestion des évènements de la souris, il faut tout d’abord créer une classe implémentant l’interface MouseListener (interface de gestion des évènements de la souris) ou abonner un composant graphique particulier à un des évènements spécifiques (voir ci-dessous). Cette interface définit cinq méthodes obligatoires :

  • mouseClicked(MouseEvent e) : appelée lorsque le bouton de la souris a été cliqué (appuyé puis relâché) sur un composant graphique.
  • mouseEntered(MouseEvent e) : appelée lorsque la souris entre dans la zone correspondant à un composant graphique.
  • mouseExited(MouseEvent e) : appelée lorsque la souris sort de la zone correspondant à un composant graphique.
  • mousePressed(MouseEvent e) : appelée lorsqu’un bouton de la souris a été pressé sur un composant graphique.
  • mouseReleased(MouseEvent e) : appelée lorsqu’un bouton de la souris a été relâché sur un composant graphique.

#?-:nbsp;

Par la suite, l’objet e de type MouseEvent permettra d’obtenir différentes informations sur l’évènement généré comme par exemple les coordonnées du pointeur de la souris (.getPoint()), le nombre de clicks (.getClickCount()) ou le bouton de la souris ayant généré l’évènement (.getButton()).


Exemple d’implémentation de la gestion des évènements de la souris sur une JFrame :

public class Frame implements  MouseListener {
Frame() {
//Code de création de la JFrame
}

public void mouseClicked(MouseEvent e){
//Affichage des coordonnées du click de la souris
System.out.println("Coordonnée X du click : " + e.getX() + " Coordonnée Y du click : " + e.getY()) ;
}

public void mouseEntered(MouseEvent e){
}

public void mouseExited (MouseEvent e){
}

public void mousePressed(MouseEvent e){
}

public void mouseReleased(MouseEvent e){
}
}

Grâce à cela, il est par exemple possible dans une application de traitement d’images, de déterminer sur quelle zone de l’image l’utilisateur a cliqué et d’effectuer le traitement correspondant au bouton de la souris (ex : un click droit permet de zoomer sur l’image tandis qu’un click gauche permet de dézoomer).

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée