加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

深入Java Robot实现控制鼠标和键盘的方法详解

发布时间:2020-12-14 19:59:55 所属栏目:Java 来源:网络整理
导读:Java.awt.Robot 类用于控制鼠标和键盘。 一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作。这个类通常用于自动化测试。下面的代码样例将向您展示Robot类如何处理键盘事件。如果你运行此代码,并打开notepad,您将在notepad中看到HI
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_SPACE);
pressKey(robot,KeyEvent.VK_A);
pressKey(robot,KeyEvent.VK_M);
pressKey(robot,KeyEvent.VK_T);
pressKey(robot,KeyEvent.VK_E);
pressKey(robot,KeyEvent.VK_J);
pressKey(robot,KeyEvent.VK_V);
pressKey(robot,KeyEvent.VK_R);
pressKey(robot,KeyEvent.VK_O);
pressKey(robot,KeyEvent.VK_B);
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();
}
}
}

您可能感兴趣的文章:

  • javafx tableview鼠标触发更新属性详解
  • java获取鼠标在屏幕上坐标的方法
  • 详解Java图形化编程中的鼠标事件设计
  • java通过控制鼠标实现屏幕广播的方法
  • Java实现鼠标拖拽移动界面组件
  • Java拖曳鼠标实现画线功能的方法
  • Java实现鼠标拖放功能的方法
  • java抓取鼠标事件和鼠标滚轮事件示例
  • 超简单的java获取鼠标点击位置坐标的实例(鼠标在Jframe上的坐标)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读