用Java实现可重复性的鼠标键盘事件--Robot类的使用

Robot类的定义:

构建

Robot() // 在初始屏幕的坐标系上构建一个Robot类

Constructs a Robot object in the coordinate system of the primary screen.

Robot(GraphicsDevice screen) // 在特定屏幕上创建

Creates a Robot for the given screen device.

方法总结

返回值和返回类型

方法

描述

BufferedImage

createScreenCapture(Rectangle screenRect)

创建包含从屏幕读取的像素的图像。

void

delay(int ms)

特定时间段休眠时间

int

getAutoDelay()

返回执行某一事件后Robot的休眠时间

Color

getPixelColor(int x, int y)

返回当前坐标值的像素颜色

boolean

isAutoWaitForIdle()

返回此机器人在生成事件后是否自动调用waitForIdle

void

keyPress(int keycode)

模拟按下键盘按键

void

keyRelease(int keycode)

模拟释放键盘按键

void

mousePress(int buttons)

模拟按下鼠标按钮

void

mouseRelease(int buttons)

模拟释放鼠标按钮

void

mouseWheel(int wheelAmt)

模拟鼠标滚轮事件

void

setAutoDelay(int ms)

设置此Robot在生成事件后休眠的毫秒数

void

setAutoWaitForIdle(boolean isOn)

设置此机器人在生成事件后是否自动调用waitForIdle

String

toString()

返回此Robot的字符串表示形式

void

waitForIdle()

等待直到事件队列上当前的所有事件都已处理

案例

键盘事件,模拟打字

public class Keyboard {

public static void main(String[] a) throws AWTException{

System.out.print("Hello World");

Robot robot = new Robot();

robot.delay(5000);

robot.keyPress(KeyEvent.VK_H);

robot.keyPress(KeyEvent.VK_E);

robot.keyPress(KeyEvent.VK_L);

robot.keyRelease(KeyEvent.VK_L);

robot.keyPress(KeyEvent.VK_L);

robot.keyPress(KeyEvent.VK_O);

robot.keyPress(KeyEvent.VK_SPACE);

robot.keyPress(KeyEvent.VK_W);

robot.keyPress(KeyEvent.VK_O);

robot.keyPress(KeyEvent.VK_R);

robot.keyPress(KeyEvent.VK_L);

robot.keyPress(KeyEvent.VK_D);

robot.delay(100);

robot.keyPress(KeyEvent.VK_ENTER);

}

}

鼠标事件,模拟鼠标来回移动

public class Mouse {

public static void main(String[] args) throws AWTException{

System.out.print("Mouse Move");

Robot robot = new Robot();

robot.delay(1000);

int y = 500;

int n = 0;

do {

for(int x=0; x<3840; x++) {

robot.mouseMove(x, y);

}

for(int x=0; x<3840; x++) {

robot.mouseMove(3840- x, y);

}

n++;

}while(n<50);

}

}

JAVA有没有比robot更好用的_使用Java/Python提高工作效率01-Java Robot类相关推荐

  1. cpu java poi 导出_让 Java 开发更简单,提高工作效率 | Gitee 项目推荐

    1.项目名称:基于 Spring Boot 的权限管理系统 项目简介:Good 权限管理系统是作者学习 springBoot 时基于 springBoot 开发的一套轻量级的权限系统,其目的是形成一套 ...

  2. Rails工作效率和Java运行平台

    Rails工作效率和Java运行平台 --读<JRuby实战>(Practical JRuby on Rails Web 2.0 Projects) 有感 在Web软件开发方面,Rails ...

  3. JAVA用多线程反而变慢了_Java中使用多线程不能明显提高程序效率的一些原因

    java中使用多线程不能明显提高程序效率的一些原因. 使用多个线程来处理多任务的时候,效率肯定是有提高的.但是必须要慎用,否则容易出现问题. 1.多线程主要是为了充分利用多核cpu,大内存这些资源. ...

  4. python提高办公效率的例子_怎样的办公室设计更利于提高工作效率

    面对社会经济的快速发展以及行业之间的竞争激烈,很多公司一直都在追求不断提高工作人员的工作效率.其实,通过科学的办公室设计也能起到提高人们工作效率的作用.今天小编便就这个话题跟大家聊一聊,看看什么样的办 ...

  5. Java基础学习总结(105)——让 Java 开发更简单,提高工作效率!

    1.一种利用 JAVA 注释支持多行字符串的方法 从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法. 传送门: https://my.oschina.net/dr ...

  6. Java应届生大学四年怎么做,可以毕业就进入华为工作,致Java高级工程师的一封信

    ======================================================================= 其实在18年11月秋招就拿了华为南研所的offer了,基 ...

  7. java中线性表删除元素和删除指定元素_线性表的插入和删除(Java版)

    1.线性表的定义: (1).线性表是一种可以在任意位置插入和删除数据元素操作.由n(n≥0)个相同类型数据元素a0, a1,-, an-1组成的线性结构.除了第一个元素没有前驱元素和最后一个元素没有后 ...

  8. java前台传多个id用什么接收_前端js传多个id 到java后台的处理方式

    $("#createApplysjinfo").click(function(){ var allTableData=datagrid.bootstrapTable('getDat ...

  9. 提高工作效率的万能Java行列转换工具类

    1.说明 有时候工作中需要动态生成列,也就是不确定的列,那么在数据库层就不是那么好操作了,可以使用java工具类来实现. 本工具类是对市面上的工具类进行加工改造,可以通用于各种情况,更加灵活,下面我来 ...

最新文章

  1. antirecall怎么打开_QQ/微信防撤回工具 — Anti recall
  2. 用了 Elasticsearch 后,查询起飞了!
  3. LeetCode 1027. Longest Arithmetic Sequence--笔试题--C++解法
  4. Android之ViewPager讲解
  5. Mysql增加、删除和修改列属性和约束,和一些有用的查询语句
  6. 聊聊买卖股票的最佳时机
  7. 【机器学习算法专题(蓄力计划)】二十、实操代码MNIST 数据集
  8. SAP IBASE Category 01和03的区别
  9. 【sklearn学习】集成算法之梯度提升树GBDT
  10. CSS快速学习:几种导航条案例
  11. 《Image Effects 》第一章学习笔记(2)
  12. 用Java实现HTTP文件队列下载
  13. 我开发的kvm虚拟化虚拟机批量生产脚本
  14. OpenCV精进之路(十七):工具——图像配准工具
  15. Coded UI Test学习网站
  16. 【Vue组件库】最常用的vue组件库
  17. 硬件设计-USB2.0电路设计
  18. 汽车距离报警系统c语言编程,基于单片机的汽车防盗报警系统的设计本科生毕业论文.doc...
  19. 酷睿i9 12950HX怎么样 相当于什么水平
  20. 分享网友第一次开发EOS区块链总结的经验

热门文章

  1. Android一种常见的布局困扰
  2. MongoDB再出安全事故 5800万商业用户信息泄露
  3. 【Computer Organization笔记15】清华计组大作业布置:奋战二十天,做台计算机!
  4. mysql双主+keepalived【转】
  5. ANT自动化压缩合并JS/CSS和更改版本号
  6. Servlet--HttpSession接口,HttpSessionContext接口,Cookie类
  7. vs 2017 建立 php,WIN10系统下OSG+VS2017或者vs2019环境搭建
  8. ubuntu pcl 点云库使用
  9. matlab求系统根轨迹和系统增益,控制系统的根轨迹分析
  10. mysql启动日志指令_简单整理MySQL的日志操作命令