我想模擬在Java中到mousePressed事件,我發現我可以使用Robot
類這一點,和它的作品,但僅在Windows,而不是在Mac OS X如何在不使用java.awt.robot的情況下模擬mousePressed事件?
有誰知道一個替代的模擬mousePressed
事件的方法?
這是我使用的代碼:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
我想模擬在Java中到mousePressed事件,我發現我可以使用Robot
類這一點,和它的作品,但僅在Windows,而不是在Mac OS X如何在不使用java.awt.robot的情況下模擬mousePressed事件?
有誰知道一個替代的模擬mousePressed
事件的方法?
這是我使用的代碼:
Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);
如果要模擬一個JButton
的點擊動作,你可以調用doClick
方法,看看here。否則,也許這similar question可以幫助你。 希望這有助於。
這是一個示例代碼,將有所幫助。
private final class ContractMouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
// Do whatever you want.
}
}
而且在烏爾Swing代碼調用此適配器
MouseAdapter mouseAction = new ContractMouseAdapter(Component);
我已經是一個mouseAdapter類,問題是如何模擬對它的mousePressed方法的調用。 – Jesse 2011-04-08 07:55:01
我有同樣的問題,使用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);
你在使用Swing嗎? – javanna 2011-04-03 10:24:49
AFAIC機器人需要管理員權限來模擬某些系統上的本機事件。 – josefx 2011-04-03 10:44:55
@javanna是的,我使用swing – Jesse 2011-04-03 10:47:35