我想在 Java 中模拟 mousePressed 事件,我发现我可以为此使用Robot
该类,并且它可以工作,但仅在 Windows 中而不在 Mac OS X 中。
有谁知道模拟mousePressed
事件的另一种方法?
这是我使用的代码:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
我想在 Java 中模拟 mousePressed 事件,我发现我可以为此使用Robot
该类,并且它可以工作,但仅在 Windows 中而不在 Mac OS X 中。
有谁知道模拟mousePressed
事件的另一种方法?
这是我使用的代码:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
通过检查使用 java.awt.robot.mousePress(int button) 无法在 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);
这是一个有用的示例代码。
private final class ContractMouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
// Do whatever you want.
}
}
并在您的 Swing 代码中将此适配器称为
MouseAdapter mouseAction = new ContractMouseAdapter(Component);