【发布时间】:2011-03-25 23:34:15
【问题描述】:
我正在寻找一种在 Mac OS X 10.6 中模拟鼠标移动事件的方法。它必须以鼠标单位定义(而不是像素——这很重要!)
我需要这个来做一个基本上由画线组成的实验。
欢迎提出任何想法。
谢谢!
【问题讨论】:
标签: macos mouse mouseevent mousemove
我正在寻找一种在 Mac OS X 10.6 中模拟鼠标移动事件的方法。它必须以鼠标单位定义(而不是像素——这很重要!)
我需要这个来做一个基本上由画线组成的实验。
欢迎提出任何想法。
谢谢!
【问题讨论】:
标签: macos mouse mouseevent mousemove
在 Mac OS X 和其他操作系统中移动鼠标的最简单方法之一是使用Java Robot。它还可以模拟其他事件。例如,鼠标按下甚至按键。但是,它将指针移动到给定的屏幕坐标。所以你唯一需要做的就是把你的物理单位转换成合适的坐标。这是一个代码示例:
import java.awt.AWTException;
import java.awt.Robot;
public final class JavaRobotExample
{
public static void main(String[] args) throws AWTException
{
Robot robot = new Robot();
robot.setAutoDelay(5);
robot.setAutoWaitForIdle(true);
robot.mouseMove(0, 0);
robot.delay(1000);
robot.mouseMove(200, 10);
robot.delay(1000);
robot.mouseMove(40, 130);
System.exit(0);
}
}
要测试此代码,请将其放入 JavaRobotExample.java 文件中,然后使用以下命令对其进行编译:
javac JavaRobotExample.java
JavaRobotExample.class 文件生成后,运行它:
java JavaRobotExample
Java 运行时默认随 Mac OS X 一起提供。不过,我不确定 SDK(编译器)。如果您没有 javac 命令,只需安装 Xcode。
【讨论】: