Comment obtenir la localisation d'un clic de souris, par rapport à une fenêtre swing
Dire que je suis dans une Java Swing JFrame. Je clique sur ma souris. Je veux obtenir l'emplacement de la souris cliquez sur au sein de l'interface. En java, la ligne
int mouseX = MouseInfo.getPointerInfo().getLocation.x;
Semble donner l'emplacement de la souris sur la totalité de l'écran. Comment puis-je obtenir de l'emplacement par rapport à l'interface?
Essayez d'utiliser
regarder SwingUtilities, pour déterminer la réalité de la souris endroits et par rapport à JFrame
MouseEvent.getPoint
regarder SwingUtilities, pour déterminer la réalité de la souris endroits et par rapport à JFrame
OriginalL'auteur pipsqueaker117 | 2012-09-12
Vous devez vous connecter pour publier un commentaire.
De
MouseListener
méthodes que vous pouvez faire:Simplement ajouter ceci à votre
Component
par:Référence:
int value
, donc il n'apparaît jamais une raison pour jeter la valeur explicitement comme vous le faites dans votre cas :-), mais +1 pour le reste.quelle stupidité de moi de vous remercier
Oui, mais que faire si vous voulez obtenir les coordonnées de la souris par rapport à la JFrame, sans avoir à cliquer?
avec le MouseMotionListener, même concept que dans l'exemple, mais avec des méthodes mouseMoved et mouseDragged
OriginalL'auteur David Kroukamp
Prendre un coup d'oeil à
Composant.getMousePosition
.... ou, si vous utilisez un
MouseListener
, vous pouvez voir mon commentaire d'origine...La ci-dessus sera de retour le point de la souris par rapport à la composante à laquelle l'auditeur a été lié.
OriginalL'auteur oldrinb
Vous pouvez ajouter
MouseListener
de composant d'interface graphique dont le pixel supérieur gauche devrait être taraudés [0,0] point, et d'avoir x et y à partir MouseEventMouseAdapter
.OriginalL'auteur Pshemo
MouseEvent a des méthodes getX() et getY() qui retourne la position par rapport à la source du composant.
OriginalL'auteur Mark