|
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).
|