手机
当前位置:查字典教程网 >编程开发 >Java >深入Java Robot实现控制鼠标和键盘的方法详解
深入Java Robot实现控制鼠标和键盘的方法详解
摘要:Java.awt.Robot类用于控制鼠标和键盘。一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作。这个类通常用于...

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

}

}

}

【深入Java Robot实现控制鼠标和键盘的方法详解】相关文章:

深入Java7的一些新特性以及对脚本语言支持API的介绍

java实现单链表中是否有环的方法详解

java this super使用方法详解

深入Synchronized和java.util.concurrent.locks.Lock的区别详解

深入JAVA对象深度克隆的详解

Java 位图法排序的使用方法

java连接mysql数据库乱码的解决方法

关于各种排列组合java算法实现方法

基于Java回顾之多线程详解

深入SQLite多线程的使用总结详解

精品推荐
分类导航