java Robot右击不起作用

时间:2017-08-29 13:09:13

标签: java awtrobot

我正在构建一个虚拟控制器,以便残疾人可以玩PC游戏。 WASD工作正常。但我还需要它来模拟右键单击。我的{"class": { "name":"history", "grade":"10" } } BUTTON3_DOWN_MASK事件中有mousePressed,但实际上并没有做任何事情。

我的代码如下。我知道它很草率,但我想先弄清楚这个:

mouseReleased

1 个答案:

答案 0 :(得分:0)

实际上,它正在发挥作用。可以看到是否添加了一些这样的调试信息:

@Override
public void mouseReleased(MouseEvent e){
    System.out.println("ReleasingMouseButton: " + e.getButton());
    robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);

}

@Override
public void mousePressed(MouseEvent e){
    System.out.println("PressingMouseButton: " + e.getButton());
    robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
}

现在,如果您单击其中一个标签,您将看到您将被困在单击释放事件循环中。事实上,机器人实际上就像你想要的那样点击你(或者更喜欢你编程来这样做)。

输出片段:

  

ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3   PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3   ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3   PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3   ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3   PressingMouseButton:3 ReleasingMouseButton:3 PressingMouseButton:3   ReleasingMouseButton:3 PressingMouseButton:3 ReleasingMouseButton:3   PressingMouseButton:3

我怀疑这是你想要的,所以你需要为它添加一些额外的逻辑(例如,检查点击了哪个鼠标按钮)