`

Java中模拟鼠标和键盘输入

 
阅读更多
从jdk1.3开始,提供了一个Robot类,在java.awt.*包下面。这个类在jdk中描述如下:

此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试。

使用该类生成输入事件与将事件发送到AWT事件队列或AWT组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove将实际移动鼠标光标,而不是只生成鼠标移动事件。

注意,某些平台需要特定权限或扩展来访问低级输入控件。如果当前平台配置不允许使用输入控件,那么试图构造Robot对象时将抛出AWTException。例如,如果X服务器不支持(或没有启用)XTEST
2.2标准扩展,则X-Window系统会抛出异常。

出于自测试之外的目的而使用Robot的应用程序应妥善处理这些错误条件。


这个类除了模拟鼠标键盘操作以外,还可以用来截取屏幕,只演示一下怎么模拟鼠标键盘操作,具体api参考javadoc。这个演示完成了弹出QQ和移动窗口的功能。代码如下:

importjava.awt.AWTException;
importjava.awt.Robot;
importjava.awt.event.KeyEvent;
/***//**
*
@authorbean
*
*/

publicclassRobotDemo...{

privateRobotrobot=null;

publicRobotDemo()...{
try...{
robot
=newRobot();
}
catch(AWTExceptione)...{
e.printStackTrace();
}

}

/***//**可以弹出QQ*/
publicvoidkeyBoardDemo()...{
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_Z);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_ALT);
}

/***//**前提是有个最大化的窗口,功能是移动到标题栏,然后拖拽到600,600的位置*/
publicvoidmouseDemo()...{
robot.mouseMove(
80,10);
robot.mousePress(KeyEvent.BUTTON1_MASK);
try...{
Thread.sleep(
20);
}
catch(InterruptedExceptione)...{
e.printStackTrace();
}

robot.mouseMove(
600,600);
robot.mouseRelease(KeyEvent.BUTTON1_MASK);
}

/***//**
*
@paramargs
*/

publicstaticvoidmain(String[]args)...{
RobotDemodemo
=newRobotDemo();
demo.keyBoardDemo();
demo.mouseDemo();
}


}



分享到:
评论

相关推荐

    java开发模拟鼠标键盘操作

    java开发源码,模拟鼠标、键盘操作,获取鼠标X Y坐标等功能,可以实现前台鼠标控制游戏窗口等功能

    java 控制鼠标*键盘的 jna 库32位

    java 控制鼠标*键盘的 jna 库32位

    自动化实现HelloWorld,模拟键盘和鼠标点击

    可以自动新建工程和实现最简单的HelloWorld,模拟鼠标的移动点击,和键盘的敲击,可以利用这个原理编写好多有趣的东西。

    Java Robot 类模拟键盘按键和鼠标点击(全局模拟)

    用java 来实现的一个程序控制window实现鼠标点击,拖动,键盘的输入指令

    java按键精灵模拟鼠标,j键盘代码工程

    java按键精灵基础代码,包括模拟操作鼠标,模拟键盘输入的基础功能,和一个游戏示例代码。

    设备管理模拟实现

    模拟实现的程序包括建立设备类表和设备表的程序段,分配设备和回收设备的函数。分配设备要求输入作业名、设备类名和相对号;回收设备要求输入作业名和设备类名。 ⑴ 设计设备类表和设备表。 ⑵ 根据设备管理过程实现...

    JAVA上百实例源码以及开源项目源代码

    java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码...

    RobotUtil_JavaRobot_JavaRobot工具类_robot_

    RobotUtil 是基于 java 自带的 Robot API 封装的一个工具类,用于方便模拟鼠标和键盘操作,对鼠标的移动、按下、释放,键盘的按下、释放、输入,屏幕颜色的判断等做了封装。

    Java开发技术大全(500个源代码).

    示例描述:本章学习Java的输入和输出。 CopyFile.java 文件复制实例 dir.java 显示目录下的所有文件和目录 encrypt.java 文件加密 FileList.java 自己实现的一个文件名称枚举类 MyDataIO.java 数据输入输出示例...

    JAVA上百实例源码以及开源项目

    java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码...

    WinRobot:强大的屏幕捕获\键盘+鼠标输入模拟(Windows 2000 +)。 与java.awt.Robot兼容

    关于WinRobot 强大的屏幕捕获器和键盘/鼠标输入模拟器(支持Windows UAC \ Winlogon \ DirectShowOverlay)。 (可选)Windows下的java.awt.Robot实现用户手册在Windows上从源代码编译关于文件: WinRobot\JNI The ...

    基于Java实现模拟操作系统(进程、存储、设备、文件和用户)【100012402】

    2.本程序采用图形界面,输入主要为鼠标操作以及修改用户名、修改文件以及 cmd 中的键盘输入。输出则是对相应动作的响应。 3.输出的形式是,根据在桌面点击的图标,分别显示各模块内容。例如点击磁盘分配。会根据...

    JAVA中的图形用户界面示例

    【例9.24】综合鼠标事件和键盘事件处理的程序,模拟一个电子白板,可以用鼠标在上面绘画,可用键盘在上面写字。 import javax.swing.*; import java.awt.*;...图中的线用鼠标随手画出,文字用键盘输入

    inputEmu:Keyboard & Mouse Emulator (v1.0.1):一个基于 Java 的以编程方式控制键盘和鼠标的函数-matlab开发

    * 增加键盘输入支持* 更改输入参数顺序* 多命令 CMDS 输入参数转置(即,在列中而不是行中定义的命令) * 删除了对 Matlab HG 规范的支持 此外,作为未来的增强功能,我计划支持非美式键盘。 当前版本很可能会为...

    fest-swing-1.2 Java Packets

    FEST-Swing是一个用于Swing GUI应用程序功能测试的java开源类库。支持模拟用户交互( 鼠标操作和键盘输入)。支持JDK中的所有Swing组件。提供简洁、强大的API来创建和维护GUI功能测试。

    java范例开发大全源代码

     实例126 将由键盘中录入的信息保存到文件中 176  实例127 一个文件变成多个小文件 178  实例128 多个小文件合成一个文件 181  实例129 统计指定文件中的字符个数 183  实例130 对象的序列化与反序列化...

    基于Java的超级玛丽游戏的设计与实现.zip

    用户交互:处理用户输入,包括键盘控制、鼠标交互等,以便玩家可以与游戏进行互动。这部分的设计和实现将使玩家能够操控角色,完成游戏目标。 关卡设计:设计不同的游戏关卡,包括地图布局、敌人设置、难度调整等。...

    java范例开发大全

    实例126 将由键盘中录入的信息保存到文件中 176 实例127 一个文件变成多个小文件 178 实例128 多个小文件合成一个文件 181 实例129 统计指定文件中的字符个数 183 实例130 对象的序列化与反序列化 185 实例131 同时...

Global site tag (gtag.js) - Google Analytics