当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java进阶

如何在Java中使用Robot类

  Java.awt.Robot 类用于控制鼠标和键盘。一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作。这个类通常用于自动化测试。先面的代码样例将向您展示Robot类如何处理键盘事件。如果你运行此代码,并打开notepad,您将在notepad中看到HI CAOER.赶快试一试吧。

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();

}

}

      }

  网友完善了以上代码:

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();

}

}

}

相关内容
赞助商链接