104 votes

Obtenir la position de la souris

Je voudrais simuler un mouvement naturel de la souris en Java (aller 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 de non visible) ?

Merci.

198voto

vpram86 Points 3063

MouseInfo.getPointerInfo().getLocation() pourrait être utile. Il renvoie un Point correspondant à la position actuelle de la souris.

37voto

Nauman Khalid Points 435
PointerInfo a = MouseInfo.getPointerInfo();
Point b = a.getLocation();
int x = (int) b.getX();
int y = (int) b.getY();
System.out.print(y + "jjjjjjjjj");
System.out.print(x);
Robot r = new Robot();
r.mouseMove(x, y - 50);

10voto

stevorino Points 41

Dans SWT, vous n'avez pas besoin d'être dans un écouteur pour obtenir l'emplacement de la souris. L'objet Display possède la méthode getCursorLocation() .

En SWT/JFace classique, 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() sur le MouseInfo.getPointerInfo() que d'autres ont mentionné, car ce dernier est mis en œuvre dans la boîte à outils AWT que SWT a été conçu pour remplacer.

6voto

Srb Points 80
import java.awt.MouseInfo;
import java.awt.GridLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

import javax.swing.*;

public class mice {
public static void main(String[] args) throws InterruptedException{
    while(true){
        //Thread.sleep(100);
        System.out.println("("+MouseInfo.getPointerInfo().getLocation().x+", "+MouseInfo.getPointerInfo().getLocation().y+")");
    }
}

}

2voto

Andrzej Doyle Points 52541

Si vous utilisez Swing comme couche d'interface utilisateur, vous pouvez utiliser une balise Écoute des mouvements de la souris pour ça.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X