gpt4 book ai didi

java - Robot.mouseMove 在 Mac OS X 中根本不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 01:24:39 25 4
gpt4 key购买 nike

我使用该代码在 IntelliJ IDE 中创建了 java 文件

import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Robot;

public class JavaRobotExample {
public static void main(String[] args) {
int x = 12,
y = 300;
try {
Robot robot = new Robot();
robot.mouseMove(x, y);

int xAct = (int) MouseInfo.getPointerInfo().getLocation().getX(),
yAct = (int) MouseInfo.getPointerInfo().getLocation().getY();

String sPred = String.format("Predicted mouse location : %, d, %, d", x, y),
sAct = String.format("Actual mouse location : %, d, %, d", xAct, yAct);

System.out.println(sPred);
System.out.println(sAct);
} catch (AWTException e) {
e.printStackTrace();
}
}
}

该示例在 Windows 7 环境中运行良好,但 Mac OS 10.14 上的相同代码不会使用方法 mouseMove 移动鼠标(但会使用 MouseInfo 类读取位置)。

我也没有收到任何异常,例如

有人之前遇到过类似的问题吗?有什么想法可以让该代码在 Mac OS 中运行吗?

最好的问候,

最佳答案

我也遇到了同样的问题。我有一个声明“robot.mouseMove(100, 100);”而且鼠标根本不动。我有一个想法要研究。我在运行代码时注意到来自 MacOS 的警告或信息类型的消息。它问我一些关于授予我的程序控制屏幕或系统或其他东西的权限。我试图点击“允许”复选框,但它不允许我。我会再研究一下。我认为这是 MacOS 的事情。你(和我)必须告诉 MacOS 我们的 Java 程序可以控制鼠标。

我认为这是解决方案。 . .

在“系统偏好设置”(“齿轮”图标)中的“安全和隐私”下,单击顶部的“隐私”选项卡,然后选择左侧的“辅助功能”。这列出了所有可以“控制您的计算机”的程序。我使用的是 STS,而不是 IntelliJ。我看到 STS 与 BetterSnapTool 和 KeyCastr 一起列出。 BetterSnapTool 和 KeyCastr 都被选中。未检查 STS。而且,所有这些都是灰色的,所以我无法更改任何支票。窗口左下方有一个锁定图标。我单击该图标,然后出现提示要求我输入密码(我有一定级别的系统管理员权限)。我输入了密码,现在可以“检查”STS。我“检查”了 STS(您将“检查”IntelliJ)。 “检查”STS 后,我再次单击左下角的锁定图标。这“关闭”了锁。现在,当我运行我的程序时,机器人命令会移动我的鼠标。

关于java - Robot.mouseMove 在 Mac OS X 中根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53103394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com