Java.awt.Robot按键和释放键根本不工作

Java.awt.Robot按键和释放键根本不工作,java,awt,robot,Java,Awt,Robot,每当我尝试使用java.awt.Robot按键或按键释放时,它都会给我错误消息pid(25807)/euid(501)在非主线程环境中调用TIS/TSM,错误:这是不允许的。请在主线程中调用TIS/TSM。无论我如何简单地编写代码,它都会不断地给出这个错误消息。这是我的代码: package com; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java

每当我尝试使用java.awt.Robot按键或按键释放时,它都会给我错误消息
pid(25807)/euid(501)在非主线程环境中调用TIS/TSM,错误:这是不允许的。请在主线程中调用TIS/TSM。无论我如何简单地编写代码,它都会不断地给出这个错误消息。这是我的代码:

package com;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

public class JavaRobotExample {
    public static void main(String[] args) throws AWTException {
        Robot robot = new Robot();
    
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
    }
}
这是我找到的教科书上的例子,但它仍然给出了错误信息。我已经找了这么长时间,试图找出什么是错的。我在MacBookPro上使用MacOS Mojave 10.14.2,并且我已经给Eclipse(我用来编译代码的)隐私访问权限。以下是我用于此目的的所有内容的屏幕截图:


还有其他人有这个问题吗?我还应该注意,错误消息会被发送多次,即使它只按了一次键。

按照以下步骤操作

  • 设置->安全和隐私
  • 向下滚动至“辅助功能”
  • 单击底部的“锁定”按钮,解锁防盗锁 隐私偏好
  • 单击“+”图标和您的程序(在我的例子中是EclipseIDE),然后重试 再次奔跑

  • Eclipse IDE仍然显示“这是不允许的。请在主线程中调用TIS/TSM!!!”,但键盘和鼠标事件都可以工作。

    该代码在Windows上工作。尝试在事件分派线程上执行这些操作。