服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

如何在java中使用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();}}      }

  网友完善了以上代码:

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();}}}

扫描关注微信公众号