Java.awt.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_ENTER
pressKey(robot, KeyEvent.VK_ENTER);
//pressKey(robot, KeyEvent.);
}
closeApplication(robot);
//robot.keyPress(KeyEvent.VK_SPACE);
} catch (AWTException e) {
e.printStackTrace();
}
}
}

时间: 2024-09-19 10:08:23

Java.awt.Robot类控制鼠标和键盘的相关文章

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

Java.awt.Robot 类用于控制鼠标和键盘.一旦你得到这种控制,你能够通过你的Java代码做与鼠标和键盘任何类型的操作.这个类通常用于自动化测试.下面的代码样例将向您展示Robot类如何处理键盘事件.如果你运行此代码,并打开notepad,您将在notepad中看到HI CAOER.赶快试一试吧. 复制代码 代码如下: import java.awt.AWTException;import java.awt.Robot;import java.awt.event.KeyEvent;pub

通过java.awt.Robot的createScreenCapture截取屏幕

通过java.awt.Robot的createScreenCapture截屏. public static void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new

java通过控制鼠标实现屏幕广播的方法_java

本文实例讲述了java通过控制鼠标实现屏幕广播的方法.分享给大家供大家参考.具体分析如下: 在前面一篇<java实现屏幕共享功能实例分析>中提到截取屏幕时是没鼠标,为了看到教师端界面上的鼠标,可以在截取屏幕的时候,把鼠标绘制到每一张截图上去,但是由于截图的时候是一张张截取的,所以看到的鼠标难免会有点卡,之前写了java鼠标操控小程序,可以通过这种方式来看到鼠标的演示. 实现的方式也挺简单的,前面两篇文章分别实现了鼠标控制和不带鼠标的屏幕分享功能,把这两个结合一下就ok了,下面简单分析下. 服务

Java实现自动化Robot类简单应用

/**      *         Robot类   :      *      *             exec 函数声明:      *                 public Process exec (String command) throws IOException ,参数及功能说明:      *                     command: 一条指定的系统命令      *                     功能:在单独的进程中执行指定的字符串命令

总结Selenium WebDriver中一些鼠标和键盘事件的使用

在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys 等类来

eclipse-在 android java.awt 中使用 java jdk

问题描述 在 android java.awt 中使用 java jdk 我在 android 程序中使用java.awt.polygon 类.在Java构建路径中添加了 Jave JRE System library jdk 1.7 但是在使用下面这段代码时 java.awt.Polygon polyGon = new Polygon(); 获得错误NoClassDefFoundError 如何在android中使用java类? 解决方案 java awt包只使用了2个类 一个是java.aw

最近一直在做robot类 抓到的屏幕图像却没有鼠标的图像在

问题描述 请问robot类有办法抓到鼠标图像吗如何robot类没有办法得到鼠标图像那java有什么类可以得到鼠标图像的流或者直接得到鼠标的图像恳请高手帮忙急求...谢谢 解决方案 解决方案二: 该回复于2011-02-28 15:46:13被版主删除解决方案三: 没人知道吗求解答解决方案四: 还真不知道了解决方案五: 鼠标图像是什么啊?麻烦lz告诉我.解决方案六: 就是我用robot类的时候抓屏幕图像只能抓到屏幕的图像鼠标图标却不能一起抓到robot类有办法抓到吗如果不能实现那用java有什么办

如何用键盘控制鼠标

步骤方法 1.设置键盘控制鼠标 win XP "开始"菜单->"控制面板"->"辅助功能选项"->"鼠标"标签->然后单击选中"使用鼠标键 这样就可以用键盘来控制鼠标的光标,模拟鼠标的鼠标键都指键盘右侧的小键盘(数字键盘),使用时要使NumLock 键处于有效状态.还可以点击旁边的"设置"按钮来进行鼠标移动速度.NumLock 键状态.快捷键之类的详细设置.如果自己的系统的

win7开启键盘鼠标键用键盘来控制鼠标的移动

  启用鼠标键就是用用键盘来控制鼠标的移动,在Windows7系统中这个选项在控制面板的轻松访问中心--使键盘更易于使用中,下面是图文说明: 打开控制面板--轻松访问 选择更改键盘的工作方式 选择使用键盘控制鼠标 1.打开鼠标键 (1)按Ctrl+Esc组合键打开开始选单,按S键然后按C键打开控制面板; (2)按方向键移动到"辅助选项",按回车键打开它的属性对话框; (3)按Ctrl+Tab组合键切换到"鼠标"页,按Alt+M组合键选中"使用鼠标键&quo