java 模拟鼠标_Java实现鼠标模拟与键盘映射

本文实例为大家分享了Java实现鼠标模拟与键盘映射的具体代码,供大家参考,具体内容如下

关键字: java 鼠标模拟 键盘映射

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

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

Robot中主要的鼠标和键盘控制方法有:

• void keyPress(int keycode) 按下给定的键。

• void keyRelease(int keycode) 释放给定的键。

• void mouseMove(int x, int y) 将鼠标指针移动到给定屏幕坐标。

• void mousePress(int buttons) 按下一个或多个鼠标按钮。

• void mouseRelease(int buttons) 释放一个或多个鼠标按钮。

• void mouseWheel(int wheelAmt) 在配有滚轮的鼠标上旋转滚轮。

下面就让我们来实战鼠标控制,实现一个简单的鼠标控制程序MouseController。程序功能很简单:随机移动鼠标并点击左键

package robot;

import java.awt.AWTException;

import java.awt.Dimension;

import java.awt.Robot;

import java.awt.Toolkit;

import java.awt.event.InputEvent;

import java.util.Random;

public class MourseControl implements Runnable{

private Dimension dim;

private Random rand;

private Robot robot;

private volatile boolean stop = false;

public MourseControl()

{

//

dim = Toolkit.getDefaultToolkit().getScreenSize();

rand = new Random();

try {

robot = new Robot();

} catch (AWTException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

MourseControl m = new MourseControl();

Thread t = new Thread(m);

t.start();

System.out.println("MourseControl start...");

try {

Thread.sleep(10000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

m.stop();

System.out.println("MourseControl stop...");

}

public void run() {

// TODO Auto-generated method stub

while(!stop)

{

int x = rand.nextInt(dim.width);

int y = rand.nextInt(dim.height);

try {

Thread.sleep(2000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

robot.mouseMove(x, y);

System.out.println("move to :x="+x+",y="+y);

robot.mousePress(InputEvent.BUTTON1_MASK);

}

}

public synchronized void stop()

{

stop = true;

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值