Robot系列的上一篇经验我介绍了一下Robot类的基本情况与使用,以及运用Robot类对屏幕进行截图操作.这一篇经验我将介绍如果用Robot类模拟鼠标操作.

1.Robot类的4个基本鼠标操作函数

mouseMove(int x, int y) ;//移动鼠标到(x,y)坐标处

void mousePress(int buttons) ;//按下鼠标上按键

void mouseRelease(int buttons) ;//释放鼠标上按键

void mouseWheel(int wheelAmt) ;//滚动鼠标滑轮

2.实现右键单击屏幕上的某一点

例如,右键单击屏幕上的(10,20)点:

robot.mouseMove(10, 20);//移动鼠标到(10,20)点

robot.mousePress(InputEvent.BUTTON3_MASK);//按下右键

robot.mouseRelease(InputEvent.BUTTON3_MASK);//释放右键

在这里顺便提一下,在Robot类的鼠标操作中buttons参数的取值有以下3个:

InputEvent.BUTTON1_MASK

InputEvent.BUTTON2_MASK

InputEvent.BUTTON3_MASK

分别代表左键,中键(滚轮键),右键.因此把上面的例子中的InputEvent.BUTTON3_MASK 改为InputEvent.BUTTON1_MASK  就可以实现左键单击(10,20)点了.

3.实现双击鼠标

实现双击鼠标实际上就是执行两次单击事件,并且在两次单击事件中加入适当的停顿.

Robot类有一个停顿(休眠)方法可供使用:

delay(int ms) ;//ms表示停顿的毫秒

所以,实现双击左键(10,20)点的代码如下:

robot.mouseMove(10, 20);//移动鼠标到(10,20)点

robot.mousePress(InputEvent.BUTTON1_MASK);//按下左键

robot.mouseRelease(InputEvent.BUTTON1_MASK);//释放左键

robot.delay(100);//停顿100毫秒,即0.1秒

robot.mousePress(InputEvent.BUTTON1_MASK);//按下左键

robot.mouseRelease(InputEvent.BUTTON1_MASK);//释放左键

4.实现鼠标拖动

实现拖动,实际上就是在某一处按下鼠标左键,然后移动鼠标,再释放左键.

所以,实现将鼠标从(10,20)拖动到(100,200)的代码如下:

robot.mouseMove(10, 20);//移动鼠标到(10,20)点

robot.mousePress(InputEvent.BUTTON1_MASK);//按下左键

robot.delay(100);//停顿100ms

robot.mouseMove(100, 200);//移动鼠标到(100,200)点

robot.mouseRelease(InputEvent.BUTTON1_MASK);//释放左键

5.实现鼠标滚轮的滑动

mouseWheel(int wheelAmt);

此方法中的wheelAmt指的是滑动滚轮上的刻度数.

如果此参数小于0,则表示向上滚动滑轮

如果此参数大于0,则表示向下滚动滑轮

例如,向上滚动5个刻度滑轮:

robot.mouseWheel(-5);

6.实现一个简单的自动滚动阅读软件

平时经常在电脑上看小说或长篇文章的朋友应该知道,在阅读长篇文章的时候右手老是要滚动鼠标滑轮非常不舒服,所以看完上面对Robot类鼠标操作的介绍,我们可以做一个简单的自动滚动阅读的软件.

代码如下图(我的百度网盘也有相应的源代码:http://pan.baidu.com/s/1sjwIrZf)

The End

@航行刘2014/05/06

java robot 控制鼠标_Java-探索Robot类:[2]自动控制鼠标相关推荐

  1. java robot键值_Java:使用Robot类模拟键盘, 以Alt码方式输出汉字

    java.awt.Robot类 Java提供java.awt.Robot类来模拟操作键盘和鼠标, 下面是一个简单的demo public static void keyPressByInt(Robot ...

  2. java中控制反转_Java如何利用IOC控制反转的三种设计模式详解

    这篇文章主要为大家详细介绍了Java使用IOC控制反转的三种设计模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于许多开发人员来说,控制反演(IoC)都是一个模糊的概念,因为他们在现实世界中 ...

  3. java 模拟鼠标_java实现简单的模拟键盘鼠标操作

    简简单单的记录: 近期需要用到模拟键盘鼠标操作,所以记录下来,以备后用,看了很多例子,未标明引用,请见谅 package com.text.jna; import javax.imageio.Imag ...

  4. Java基础篇:去探索String类

    今天对String做一个简单的探索. String类是Java类库中最常用的类,其中最明显的原因是字符串在编程语言中是很重要的部分. 有关字符串的最重要一点是,你创建的每一个字符串实际上都是Strin ...

  5. java字符串取反_Java探索之string字符串的应用代码示例

    String类中提供了丰富的用于操作字符串的方法. int indexOf(String str) 该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1. 重载的方法 ...

  6. java random函数用法_JAVA的Random类的用法详解

    Random类主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家. Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时 ...

  7. java 枚举的继承_java中枚举类可以被继承吗?

    java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...

  8. Java中divide用法_java的BIgInteger类中divideAndRemainder方法怎么用?

    展开全部 Java的BigInteger类中e68a8462616964757a686964616f31333433633436divideAndRemainder方法的用法是,先建一个BigInte ...

  9. java什么是网络接口_java接口和类的区别是什么?它们都有哪些作用呢?

    由于新兴技术的发展,java不断地被更多人应用,而其中java接口和java类的区别主要是哪些,在哪些方面作用显著?这是困扰许多人的问题,那么,让我们继续看一下这两者的区别和作用吧? 在java中,对 ...

  10. java的character用法_Java中Character类的使用方法

    Character类的使用方法 Character:字符类型 1.属性. static int MIN_RADIX :返回最小基数. static int MAX_RADIX :返回最大基数. sta ...

最新文章

  1. 第39次《中国互联网络发展状况统计报告》发布
  2. Betriebssystem I 操作系统课件 01. Evolution von Rechnersystemen 计算机操作系统的演变
  3. flutter进度条
  4. Apache RocketMQ部署文档
  5. About Site Definition Files
  6. 深入浅出根据函数调用过程谈栈回溯原理
  7. [转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCMBCM
  8. 数据结构——堆栈的C++实现
  9. 基于 Canal 和 Kafka 实现 MySQL 的 Binlog 近实时同步
  10. 调整Excel的打印线
  11. 手机测试光纤网速的软件,如何测试光纤网速?如何测试网速多少兆
  12. Android Studio 开关控件Switch使用
  13. 下载flash文件的若干方法!
  14. 小米4android8.0root,小米8青春版获取root权限的教程
  15. sql left()函数
  16. cacti监控H3C交换机
  17. 国内首家专注影视文化产业的数藏平台“神缘”即将上线
  18. java 微信 推送_JAVA 微信消息模板推送
  19. SpringMVC源码分析迷你书
  20. 2024复旦大学计算机考研信息汇总

热门文章

  1. 汇总|Yolo开源项目
  2. FIFO的读写操作时序图
  3. 停止NVIDIA的GPU进程
  4. VASP计算HSE06带隙INCAR
  5. 【问题收录】[ubuntu]startx doesn't work
  6. python常见的文本处理-fasta文件格式处理
  7. linux刷新磁盘的命令,sync命令 – 刷新文件系统缓冲区
  8. python函数对变量的作用遵守原则有哪四条_创建一个包含四个参数的函数
  9. iMeta | 宏基因组生物信息期刊-创刊背景和简介
  10. 11月4日下午:植物保护高端论坛 (白洋、韦中)