Java.awt.Robot按键和释放键根本不工作
每当我尝试使用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
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上工作。尝试在事件分派线程上执行这些操作。