所以我有以下代码:
public static void main(String[] args) throws AWTException, InterruptedException {
Robot robot = new Robot();
robot.setAutoWaitForIdle(true);
robot.setAutoDelay(40);
// This works fine
robot.mouseMove(40, 130);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(200);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(200);
// The 'a' is never inputted
robot.keyPress(KeyEvent.VK_A);
robot.delay(200);
robot.keyRelease(KeyEvent.VK_A);
}
此代码成功将鼠标移动到位置40,130并单击。我确保在这个位置打开一个文本编辑器,以便它变得专注。
下一部分代码就是问题。 keyPress / Release片段适用于其他代码。 (如100,对应于数字4.)但由于某种原因,字母“a”将不会打印到文本编辑器中。
我试过让程序不断循环并打印约5秒钟。在编程点击后,它不会在文本编辑器中打印“a”。如果我在此期间再次点击编辑器,那么'a'的字符串将开始出现。
导致此行为的原因是什么?如何解决?
答案 0 :(得分:1)
正如我在评论中所假设的那样,我认为你正确地关注编辑器存在问题。
您可以通过Width
+ ALT
尝试使用Windows解决方案,然后将其释放以选择编辑器。
TAB