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 3013 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par adilo dans CMS

merci d\'avance monsieur le precedant

Publié par Axel dans java

le resultat de la fonction getMacAddress() est de type String,
ainsi pour afficher l'adresse MAC dans une JLabel

String macAddress=NetworkHardware.getMacAddress();
label.setText(macAd...

Publié par habib dans CMS

je veu cree des applications base de donnee comme gestion park reforme du materielle les unites materielle entree sortie inventaire aidez moi email bettaharhabib1966@yahoo.fr <br>tel 0557187557...

Publié par Alpcom dans java

Salut , juste signaler une petite faute de frappe dans mouseDragged
ce n'est pas int y = p.y - newPos.x;
int y = p.y - newPos.y; !! des comportements curieux apparaissaient sinon merci beaucoup...

Publié par bob le poisson dans java

Bonjour, votre script est tres bien mais attention l'utilisation du mot cle static sur la methode scale(BufferedImage bImage, double factor) est inutile et empeche de liberer la ressource.