我想在Java中模拟一个mousePressed事件,我发现我可以使用Robot
类来实现它,它可以工作,但仅适用于Windows而不适用于Mac OS X.
有没有人知道模拟mousePressed
事件的替代方法?
这是我使用的代码:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
答案 0 :(得分:2)
如果您要模拟JButton
上的点击操作,可以调用doClick
方法,请查看here。否则,也许这个similar question可以帮到你。
希望这会有所帮助。
答案 1 :(得分:1)
使用java.awt.robot.mousePress(int按钮)不能在mac os x 10.8上工作时遇到同样的问题 通过检查
int b = InputEvent.getMaskForButton(MouseEvent.BUTTON1); //1024
int c = InputEvent.BUTTON1_MASK; //8
// works on mac
Robot r = new Robot();
r.mouseMove(500, 500);
r.mousePress(1024);
r.mouseRelease(1024);
答案 2 :(得分:0)
以下是一个有用的示例代码。
private final class ContractMouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
// Do whatever you want.
}
}
在你的Swing代码中调用此适配器为
MouseAdapter mouseAction = new ContractMouseAdapter(Component);