很多时候,我们希望能为我们的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.
也可以进入Turbo Chen的技术专栏,看更多的Java的秘密系列技术文章.