Publié le 06/01/2011
Auteur Axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Deplacer le curseur a l'ecran avec AWT robot

La class AWT.Robot contient les fonctions pour piloter la souris et le clavier. Bien entendu, les fonctions de cette librairie fonctionnent sur toutes les plate-formes que ce soit Linux, Windows ou encore MacOs. Commencons par déplacer le curseur de la souris avec robot.mouseMove pour illustrer les possibilités d'automatisation de tache.

Déplacer le curseur de la souris

L'exemple MouseSignZorro est une application console simulant le signature de Zorro à l'écran, c-a-d faire bouger le curseur en suivant un Z.
import java.awt.AWTException;
import java.awt.Robot;
 
/**
 * Déplacer le curseur de la souris sur l'écran
 * http://www.fobec.com/java/969/deplacer-curseur-ecran-avec-awt-robot.html
 * Axel 2010
 */
public class MouseSignZorro {
 
    public MouseSignZorro() throws AWTException {
        Robot robot = new Robot();
        /**
         * Fixer le delai entre chaque mouvement à 500 ms
         */
        robot.setAutoDelay(50);
        /**
         * Appeler OnIdle après le déplacement de la souris
         */
        robot.setAutoWaitForIdle(false);
 
        /**
         * Barre du haut
         */
        for (int i = 0; i < 20; i++) {
            robot.mouseMove(300+(20*i), 400);
        }
        /**
         * Diagonale
         */
        for (int i = 0; i < 20; i++) {
            robot.mouseMove(700-(20*i), 400+(20*i));
        }
        /**
         * Barre du bas
         */
        for (int i = 0; i < 20; i++) {
            robot.mouseMove(300+(20*i), 800);
        }
 
        /**
         * Quitter l'application
         */
        System.exit(0);
    }
 
    public static void main(String[] args) throws AWTException {
        MouseSignZorro mouseCatchMe = new MouseSignZorro();
    }
}

Bien entendu pour visualiser l'automatisation avec les fonctions de awt.robot, il faut lacher la souris dès que le jar est lancé.

De la manière, un programme JAVA peut envoyer une suite de caractère dans un éditeur de texte, par exemple Notepad. En contrôlant le clavier et la souris d'un poste de travail, on peut automatiser des taches voire meme construire un bot de jeu.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
06/01/2011
Visualisation
vu 2982 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par y__fe dans java

Impeccable merci !

Publié par medfayz dans java

hi everybody thanks for the code , and please can any one help me to fix that exception.
javax.media.NoPlayerException: Cannot find a Player for :vfw:0

thanks

Publié par eldiablo dans java

Après recherches, il manquait simplement une ligne à cette classe et à la mienne. Il suffit d'ajouter
df.setLenient(false);
juste après
SimpleDateFormat df = new...

Publié par leflo dans php5

Bonjour
Sans parler du fait que l'IP peut ne pas vouloir dire grand chose, en cas de proxy/translation comment on fait? On voit pas et on interdit tout meme si l'utilisateur n'est pas responsa...

Publié par fobec dans java

La boucle de lecture est corrigée et prend en compte l'état pause. Sympa d'avoir signaler l'erreur