所以我遇到了一个问题,就是当我使用这段代码时:
int x = 530;
int y = 135;
Robot r = new Robot();
r.mouseMove(x, y);
r.mousePress(InputEvent.BUTTON1_DOWN_MASK);
r.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
r.keyPress(KeyEvent.VK_T);
r.keyPress(KeyEvent.VK_E);
r.keyPress(KeyEvent.VK_S);
r.keyPress(KeyEvent.VK_T);
程序类型"测试"在eclipse中,所以我做了一些搜索,发现人们有类似的问题,在他们把它编译成jar后它工作得很好,所以这就是我做的,但是在编译之后,鼠标移动正常但是程序没有没有输入任何东西。
答案 0 :(得分:0)
我不知道你在哪里发送点击和按键,所以我不能确定问题是什么,但我猜测为什么代码没有按预期工作是你永远不会释放鼠标按钮和键。 Robot.mousePress(int)
只按下鼠标按钮,不会释放它,您必须调用Robot.mouseRelease(int)
(如文档中所述)。这同样适用于击键。另外,不推荐使用InputEvent.BUTTON1_MASK
,文档建议改为使用InputEvent.BUTTON1_DOWN_MASK
。