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_enterpresskey(robot, keyevent.vk_enter);//presskey(robot, keyevent.);}closeapplication(robot);//robot.keypress(keyevent.vk_space);} catch (awtexception e) {e.printstacktrace();}}} |
闽公网安备 35060202000074号