簡體   English   中英

如何在不使用java.awt.robot的情況下模擬mousePressed事件?

[英]How can I simulate a mousePressed event without using java.awt.robot?

我想在Java中模擬一個mousePressed事件,我發現我可以使用Robot類,它可以工作,但只能在Windows中使用,而不能在Mac OS X中使用。

有沒有人知道模擬mousePressed事件的另一種方法?

這是我使用的代碼:

Robot robot = new Robot();
robot.mousePress(InputEvent.BUTTON1_MASK);

如果要模擬JButton上的單擊操作,可以調用doClick方法,請查看此處 否則,也許這個類似的問題可以幫助你。 希望這可以幫助。

我使用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);  

這是一個有用的示例代碼。

private final class ContractMouseAdapter extends MouseAdapter {

    @Override
    public void mousePressed(MouseEvent e) {
        // Do whatever you want.
    }

}

並在你的Swing代碼中調用此適配器

MouseAdapter mouseAction = new ContractMouseAdapter(Component);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM