此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。RRobot的主要目的是便于 Java 平台实现自动测试。
常用的方法有以下几个:
void keyPress(int keycode) 按下指定的键
void keyRelease(int keycode) 释放指定的键
void delay (int ms)
睡眠指定的时间,单位为毫秒
void mouseMove(int x,int y) 将鼠标移动到给定的屏幕坐标上
void mousePress(int buttons) 按下一个或多个鼠标按键
void mouseRelease(int buttons) 释放一个活多个鼠标按键
void mouseWheel(int wheelAmt) 滚动鼠标滑轮
使用步骤
1. 创建Robot对象
Robot robot = new Robot();
2. 控制键盘
键盘上的所有键表示形式为:
数字键,如数字6表示为: KeyEvent.VK_6
字母键,如字母a/A表示为: KeyEvent.VK_A
控制键,如回车键表示为: KeyEvent.VK_ENTER
空格键表示为: KeyEvent.VK_SPECE
按键操作通常分为按下、释放这两步。
robot.keyPress(KeyEvent.VK_键);//将某个键按下
robot.keyRelease(KeyEvent.VK_键);//将某个键释放
3. 设置自动化操作的延迟
如果频繁的控制鼠标和键盘,很容易被系统检测出来机器操作,所以设置一定的延迟可以规避风险
robot.delay(500); //延迟0.5秒
4. 控制鼠标
控制鼠标移动到屏幕某个位置(大家可以去下载一个屏幕取点工具,让你可以清楚获取电脑屏幕某一点的具体坐标x,y)
robot.mouseMove(200,200);//将鼠标光标移动至屏幕的(200,200)坐标点
控制鼠标按键
InputEvent.BUTTON1_MASK为鼠标左键参数
InputEvent.BUTTON2_MASK鼠标中键参数
InputEvent.BUTTON3_MASK鼠标右键参数
//实现鼠标左键双击
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
控制鼠标滚轮
分为向下滚动和向上滚动
参数为正数表示向下滚动
参数为负数表示向上滚动
robot.mouseWheel(10);//向下滚动