Memoriser le chemin parcouru par la souris et le refaire

Contenu du snippet

Ce Code fait en sorte que tant que vous faites un trajet avec votre souri il l'enregistre puis refait le même trajet avec la souris.
Vous pouvez spécifier le délai et la période d'échantillonage ...

Source / Exemple :


import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Robot;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *

  • @author Scupper
  • /
public class Tracker extends Thread{ private int delai = 10000;//DEFAULT VALUE is 1 second private int delai_to_record = 10;//DEFAULT VALUE is 1 second private long current_time = 0; private Vector<Integer> Xs = new Vector<Integer>(), Ys = new Vector<Integer>(); // Here to record the positions public Tracker(int delai){ this.delai = delai; } public Tracker(){ } public int getMouseX(){ return (int) MouseInfo.getPointerInfo().getLocation().getX(); } public int getMouseY(){ return (int) MouseInfo.getPointerInfo().getLocation().getY(); } public void mouveMouseToSpecifiedPosition(int x, int y, int delai) throws AWTException{ Robot r = new Robot(); r.mouseMove(x, y); r.delay(delai); } public void recordPositions(int x, int y){ this.Xs.add(x); this.Ys.add(y); } @Override public void run(){ if(this.current_time ==0){ this.current_time = System.currentTimeMillis(); } while(System.currentTimeMillis()-this.current_time<this.delai){ this.recordPositions(this.getMouseX(), this.getMouseY()); try { Thread.sleep(this.delai_to_record); } catch (InterruptedException ex) { } } for(int i = 0; i < this.Xs.size(); i++){ try { //System.out.println("Xs : "+Xs + " Ys : "+Ys); this.mouveMouseToSpecifiedPosition(Xs.get(i), Ys.get(i), this.delai_to_record); } catch (AWTException ex) { } } public static void main(String[] args){ Tracker t = new Tracker(); t.start(); } }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.