Maison >Java >javaDidacticiel >Java Robot implémente des exemples de code pour contrôler la souris et le clavier

Java Robot implémente des exemples de code pour contrôler la souris et le clavier

Y2J
Y2Joriginal
2017-04-27 09:27:082311parcourir

Cet article est une analyse détaillée et une introduction à la méthode d'utilisation de Robot pour contrôler la souris et le clavier en Java. Les amis dans le besoin peuvent s'y référer

La classe Java.awt.Robot est. utilisé pour contrôler la souris et le clavier. Une fois que vous obtenez ce contrôle, vous pouvez effectuer tout type d'opération avec la souris et le clavier via votre code Java. Cette classe est généralement utilisée pour les tests automatisés. L'exemple de code suivant vous montrera comment la classe Robot gère les événements du clavier. Si vous exécutez ce code et ouvrez le bloc-notes, vous verrez HI CAOER dans le bloc-notes. Essayez-le.

Le code est le suivant :

import java.awt.AWTException;import java.awt.Robot;import java.awt.event.KeyEvent;public class RobotExp {public static void main(String[] args) {try {Robot robot = new Robot();//定义5秒的延迟以便你打开notepad // Robot 开始写robot.delay(5000);robot.keyPress(KeyEvent.VK_H);robot.keyPress(KeyEvent.VK_I);robot.keyPress(KeyEvent.VK_SPACE);robot.keyPress(KeyEvent.VK_C);robot.keyPress(KeyEvent.VK_A);robot.keyPress(KeyEvent.VK_O);robot.keyPress(KeyEvent.VK_E);robot.keyPress(KeyEvent.VK_R);} catch (AWTException e) {e.printStackTrace();}}}

Les internautes ont amélioré le code ci-dessus :

Le code est le suivant :

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.io.IOException;
public class RobotExp {
public static void pressKey(Robot robot, int keyvalue) {
robot.keyPress(keyvalue);
robot.keyRelease(keyvalue);
}
public static void pressKeyWithShift(Robot robot, int keyvalue) {
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(keyvalue);
robot.keyRelease(keyvalue);
robot.keyRelease(KeyEvent.VK_SHIFT);
}
public static void closeApplication(Robot robot) {
// pressKey(robot, KeyEvent.VK_ALT);
// pressKey(robot, KeyEvent.VK_F4);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);
//for linux.
// robot.keyPress(KeyEvent.VK_ALT);
// robot.keyPress(KeyEvent.VK_W);
// robot.keyRelease(KeyEvent.VK_ALT);
// robot.keyRelease(KeyEvent.VK_W);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
}
public static void main(String[] args) throws IOException {
try {
Robot robot = new Robot();
Runtime.getRuntime().exec("notepad");
// For linux.
//Runtime.getRuntime().exec("gedit");
//定义5秒的延迟以便你打开notepad 哈哈
// Robot 开始写
robot.delay(3000);
for (int i = 0; i < 100; i++) {
pressKeyWithShift(robot, KeyEvent.VK_H);
pressKey(robot, KeyEvent.VK_I);
pressKey(robot, KeyEvent.VK_SPACE);
//pressKeyWithShift(robot, KeyEvent.VK_H);
pressKeyWithShift(robot, KeyEvent.VK_I);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_M);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_T);
pressKey(robot, KeyEvent.VK_H);
pressKey(robot, KeyEvent.VK_E);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_J);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_V);
pressKey(robot, KeyEvent.VK_A);
pressKey(robot, KeyEvent.VK_SPACE);
pressKey(robot, KeyEvent.VK_R);
pressKey(robot, KeyEvent.VK_O);
pressKey(robot, KeyEvent.VK_B);
pressKey(robot, KeyEvent.VK_O);
pressKey(robot, KeyEvent.VK_T);
// VK_ENTER
pressKey(robot, KeyEvent.VK_ENTER);
//pressKey(robot, KeyEvent.);
}
closeApplication(robot);
//robot.keyPress(KeyEvent.VK_SPACE);
} catch (AWTException e) {
e.printStackTrace();
}
}
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn