Bonjour,
je débute en java et j'aimerais savoir comment acquérir les coordonnées de la souris lorsque je fais un clique gauche.
Pouvez-vous m'aider ?
Merci.
Acquisition des coordonnées de la souris au clic
mer, 30/01/2008 - 11:19
#1
Acquisition des coordonnées de la souris au clic
Dans la classe MouseEvent, tu peux optenir le point où l'évènement c'est produit. Les coordonnées sont relative par rapport au composant qui a reçut l'évènement. Il ne reste plus qu'à faire les calculs en fonction de la fenêtre etc....
MouseEvent.getPoint()
MouseEvent.getX()
MouseEvent.getY()
MosueEvent.getComponent() te fournit le composant qui a reçu le click.
Component.getLocation() te renvoit le coin gauche haut du composant par rapport à la fenêtre java, sinon Component.getLocationOnScreen() te renvoi la position par rapport au bord haut gauche de l'écran, ce qui donne :
pour les positions par rapport à l'écran
pour les positions par rapport à la fenêtre
Tu ne nous as pas précisé avec quoi tu gérais tes fenêtres (AWT, SWT, Swing, ...)
Partons du principe que tu utilise AWT/Swing.
Tu as donc des composants graphiques (dérivés de java.awt.Component) qui ont une méthode addMouseListener(MouseListener mouseListener);
Pour récupérer le MouseEvent dont parle willbback, tu dois d'abord créer une ou des classes dérivées de MouseListener. Ensuite tu associeras des instances de ces classes à tes composants avec la méthode addMouseListener() de la classe Component.
Evidemment dans ta/tes classes dérivées de MouseListener, tu auras surchargé la méthode mouseClicked(MouseEvent evt) . Et voila, dans cette méthode tu as le MouseEvent correspondant au clic, passé en paramètre. Il y a d'autres méthodes intéressantes dans cette classe, regardes-en la description dans le javadoc.
Bien sûr, si ton traitement est très court et dédié à un composant particulier, tu peux faire plus simple avec une dérivation à la volée :
En reprenant le code de willbback cela donnerait :
Merci beaucoup, c'est exactement ce que je voulais savoir.