文章作者 100test 发表时间 2007:09:06 11:50:39
来源 100Test.Com百考试题网
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(). } } } |
相关文章
采用无线接入为企业搭建V 网络
RFID:从期待到现实的优秀管理软件
VoIP与WiMAX实现结合需克服技术瓶颈
Hibernate的检索策略小结
如何在Java中使用Robot类
Java有能力抵挡LAMP的进攻吗?
组网实例:无线局域网WLAN企业应用
JAVA知识:Cla .forName的含义
充分考虑性价比户外无线网桥选购推荐
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛