Java中用Robot类控制鼠标和键盘的方法

2016-02-19 20:26 19 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Java中用Robot类控制鼠标和键盘的方法吧。

【 tulaoshi.com - 编程语言 】

  
  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();
  }
  }
  }

  网友完善了以上代码:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  
  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();
  }
  }
  }
  

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1623694.html

延伸阅读
//****************** 类mk头文件mk.h ************************** #if !defined(AFX_MK_H__B024D48F_090A_4F6F_A199_32996DF699B3__INCLUDED_) #define AFX_MK_H__B024D48F_090A_4F6F_A199_32996DF699B3__INCLUDED_   #if _MSC_VER 1000 #pragma once #endif // _MSC_VER 1000 #include "winable.h" class mk { public: mk(); sta...
       Java是一种面向对象(OOP)的编程语言;在Java中,面向对象是以类的形式出现的,而对象则是类的实例,所以要学习Java的类首先必须了解面向对象。面向对象编程不同于过程语言或结构化程序设计,他存在对象这个概念,面向对象中的对象不仅是数据结构,还包含和数据结构有关的方法。 一:类 1.类...
记忆是衍生自Lisp,Python,和Perl等过程性语言的一种设计模式,它可以对前次的计算结果进行记忆。 一个实现了记忆功能的函数, 带有显式的cache, 所以, 已经计算过的结果就能直接从cache中获得, 而不用每次都进行计算. 记忆能显著的提升大计算量代码的效率. 而且是一种可重用的方案. 本文阐述了在Java中使用这一模式的方法,并提供...
标签: Android
如何用鼠标键盘控制你的Android手机 网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一、鼠标键盘控制手机教程 1、在PC上,安装豌豆荚,或91助手for android或安装Android SDK (目的是利用其中的ADB调试命令),并下载安装java运行...
标签: autocad教程
    用户在AutoCAD系统中工作时,最主要的输入设备是键盘和鼠标,下面介绍如何在AutoCAD中使用键盘和鼠标。 2.1.1 使用键盘      AutoCAD同以前版本一样,同时提供了图形窗口和文字窗口。通常在图形窗口和状态栏之间显示其部分文本窗口和命令行,如图2-1所示。     在AutoCAD系统中为...

经验教程

489

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部