Je voudrais simuler un mouvement naturel de souris en Java (allant d'ici à là pixel par pixel). Pour ce faire, j'ai besoin de connaître les coordonnées de départ.
J'ai trouvé la méthode event.getX () et event.getY () mais j'ai besoin d'un événement ...
Comment puis-je connaître les positions sans rien faire (ou quelque chose qui n'est pas visible)?
Je vous remercie
getPointerInfo().getLocation()
renvoie la position par rapport à l'écran. Si vous voulez la position relative à votre composant (comme celle donnée par MouseListeners), vous pouvez en soustraireyourComponent.getLocationOnScreen()
.Container.getMousePosition()
peut parfois revenirnull
si la souris se déplace trop vite, l'utilisation de cette option évite le problème.SwingUtilities.convertPointFromScreen(MouseInfo.getPointerInfo().getLocation(), component)
MouseInfo.getPointerInfo()
peut renvoyer null lorsqu'il n'y a pas de souris ou dans certaines configurations multimon.SwingUtilities.convertPointFromScreen(..)
convertit le premier argument sur place et ne renvoie rien, il doit donc être écrit un peu différemment par rapport au commentaire @AndreiVajnaII afin que nous puissions mettre la main sur l'Point
objet.la source
Dans SWT, vous n'avez pas besoin d'être dans un auditeur pour accéder à l'emplacement de la souris. L'objet Display a la méthode
getCursorLocation()
.Dans SWT / JFace vanille, appelez
Display.getCurrent().getCursorLocation()
.Dans une application RCP, appelez
PlatformUI.getWorkbench().getDisplay().getCursorLocation()
.Pour les applications SWT, il est préférable d'utiliser
getCursorLocation()
ceMouseInfo.getPointerInfo()
que d'autres ont mentionné, car ce dernier est implémenté dans la boîte à outils AWT que SWT a été conçu pour remplacer.la source
la source
la source
Essayez de regarder la classe java.awt.Robot. Il vous permet de déplacer la souris par programme.
la source
Si vous utilisez Swing comme couche d'interface utilisateur, vous pouvez utiliser un écouteur de mouvement de souris pour cela.
la source
Je fais quelque chose comme ça pour obtenir les coordonnées de la souris à l'aide de Robot, j'utilise ces coordonnées plus loin dans quelques-uns des jeux que je développe:
la source
Si vous utilisez SWT, vous voudrez peut-être envisager d'ajouter un MouseMoveListener comme expliqué ici .
la source
Dans mon scénario, j'étais censé ouvrir une boîte de dialogue à la position de la souris basée sur une opération GUI effectuée avec la souris. Le code suivant a fonctionné pour moi:
la source