JAVA程序实现自动测试,自动演示功能,或者是其它的一些鼠标和键盘控制的应用。出于这样的目的,自从JDK1.3开始,它就为我们提供了一个用来产生本机输入事件的机器人类--java.awt.Robot.
下面我们来看看Robot为我们提供了哪些功能。
BufferedImage createScreenCapture(Rectangle screenRect)
createScreenCapture方法提供类似于键盘上的PrintScreen键的功能,将指定矩形区域内的屏幕像素copy下来产生一个BufferedImage。我们可以将这个方法用在图形程序中,或是用它来实现远端屏幕传输,可做成远端电脑监控程序等.
void delay(int ms)
用来将当前的程序(thread)休眠(sleep)若干毫秒(ms)。可用来控制程序的延时。
Color getPixelColor(int x, int y)
取得给定屏幕坐标像素位置的颜色值.用处就不多说了.
void keyPress(int keycode)
void keyRelease(int keycode)
这两个方法的作用一看便知,用来产生指定键的按键按下与抬起动作,相当于Win32 API的keyb_event函数.可用于程序的自动演示、测试等.
void mouseMove(int x, int y)
将鼠标光标移动到指定的屏幕坐标.可用于程序的自动演示、测试等.
void mousePress(int buttons)
void mouseRelease(int buttons)
void mouseWheel(int wheelAmt)
上面的三种方法,产生指定鼠标按钮的按下,抬起,及滚轮动作.一样也可用于程序的自动演示、测试等.
以上介绍了Robot提供的实用的键盘鼠标控制功能,要了解更多Robot的方法,请查阅JDK文档java.awt.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(); } } }