每当我尝试使用java.awt.Robot keyPress或keyRelease时,它都会给出错误消息pid(25807)/euid(501) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!。不管我做代码多么简单,它都会不断地给出错误信息。这是我的密码:
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);
}
}这是我发现的教科书上的例子,但它仍然给出了错误信息。我已经找了很久了,想弄清楚到底是怎么回事。我在Eclipse上使用了MacOS Mojav10.14.2,并且提供了MacBook (我用来编译代码)的隐私访问权限。下面是我所使用的所有内容的屏幕截图:我的代码
还有其他人有这个问题吗?我还应该注意,错误消息被多次发送,尽管它只按了一次键。
发布于 2019-03-03 02:32:14
按照下面的步骤,
Eclipse IDE仍然显示“这是不允许的。请在主线程中调用TIS/TSM!”但键盘和鼠标事件都能工作。
https://stackoverflow.com/questions/53901026
复制相似问题