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;
/**
*
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();
}
}
7 sept. 2017 à 18:33
10 févr. 2012 à 00:50
Faudrait juste le compiler et puis l’exécuter, pour faire ceci, je connais 3 méthodes faciles :
_ Travailler avec Netbeans: Créer un projet et copier la sources dans un fichier (qui a le même nom que la classe pour toutes les méthodes qui suivent), ensuite appuyer sur "run" dans le menu.
_ De même pour Eclipse : (personnellement je travaille avec Netbeans mais bon y a plusieurs personne qui recommande Eclipse pour les gens qui vient de débuter avec Java)
_ la troisième est un peu compliquée que les deux dernière méthodes :
+ Vous faite sous la console : cd <Chemin du dossier ou votre fichier se trouve>
+ puis dans cette console : javac nomdufichier.java
+ Enfin : java nomdufichier
9 févr. 2012 à 20:00
Bon, j'avoue que ma question va être un peu bête mais ce code on le met où pour ensuite l'activé ?
Merci de votre aide.
3 févr. 2012 à 19:33
Franchement, ce que je voulais faire c'est commander la souris et le clavier avec la main :D et cette classe c'était juste un petit test parmi d'autres :D
3 févr. 2012 à 18:57
Ok, l'idée est sympa. Tu aurais même pu aller plus loin en enregistrant également les clics, et créer un outils équivalent à scélenim mais plus général.
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.