8

I'm looking for a way to simulate a mouse move event in Mac OS X 10.6. It would have to be defined in mouse units (rather than pixels — that is important!)

I need this for an experiment which basically consists of drawing lines.

Any ideas are welcome.

Thank you!

4

1 回答 1

7

在 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

于 2010-08-06T00:33:59.790 回答