Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。
主要用于屏幕截图,延时,取屏幕颜色,模拟键盘,模拟鼠标等
主要目的是便于 Java 平台实现自动测试。
一、构造方法
Robot() // 在基本屏幕坐标系中构造一个 Robot 对象。
Robot(GraphicsDevice screen) // 为给定屏幕设备创建一个 Robot 。
二、主要应用
1.屏幕截图
Robot类可以在屏幕指定的矩形区域内截图。
主要代码示例如下
Robot robot = new Robot(); //初始化Robot对象
Rectangle rect = new Rectangle(0, 0, 100, 100); //构造一个矩形对象,以便描述截图区域
BufferedImage buffer = robot.createScreenCapture(rect); //将截图保存在buffer变量中
2.延时
用来将当前的程序(thread)休眠(sleep)若干毫秒(ms)。
robot.delay(1000); //延时1000毫秒
3.取屏幕颜色
取得给定屏幕坐标像素位置的颜色值,取屏幕坐标(100,150)的颜色
示例如下
Color c = robot.getPixelColor(100,150);
4.模拟键盘
Robot类亦可以模拟键盘的各种操作,例如键的按下、松开等。
robot.keyPress(KeyEvent.VK_A); //按下A键
robot.keyRelease(KeyEvent.VK_A); //松开A键
5.模拟鼠标
Robot类可以模拟鼠标的操作,并触发事件。
robot.mouseMove(152, 596); //鼠标移动到(152,596)坐标处
robot.mousePress(MouseEvent.BUTTON1_MASK); // 按下鼠标左键。
robot.mouseRelease(MouseEvent.BUTTON1_MASK); // 释放鼠标左键。
robot.mouseWheel(5); // 在配有滚轮的鼠标上旋转滚轮。