我想將鼠標指針移動到特定位置,然後執行SHIFT +鼠標右鍵點擊。我能夠將鼠標移動到某個位置,但無法模擬鼠標點擊。如何模擬SHIFT +鼠標按鍵在java中
Robot r = new Robot();
r.mouseMove(x1,y1);
我該怎麼做才能模擬預期的鼠標點擊?
我想將鼠標指針移動到特定位置,然後執行SHIFT +鼠標右鍵點擊。我能夠將鼠標移動到某個位置,但無法模擬鼠標點擊。如何模擬SHIFT +鼠標按鍵在java中
Robot r = new Robot();
r.mouseMove(x1,y1);
我該怎麼做才能模擬預期的鼠標點擊?
我想你會只需要機器人一點點額外的信息來順利完成,儘量
r.keyPress(KeyEvent.VK_SHIFT);
r.mousePress(KeyEvent.BUTTON3_MASK);
r.mouseRelease(KeyEvent.BUTTON3_MASK);
r.keyRelease(KeyEvent.VK_SHIFT);
@ MadProgrammer:我收到無效的鍵碼異常事件 – DarkKnight
@DarkKnight對不起,是我不好,複製其他國家的人民代碼並沒有檢查它:P - 我已經測試並更新了這個例子 – MadProgrammer
這應該做的伎倆:
r.mousePress(InputEvent.BUTTON3_MASK);
r.mouseRelease(InputEvent.BUTTON3_MASK);
這裏重要的是不要忘記按下並釋放它,因爲這些是2個不同勢事件。
它是否相當於MouseEvent.BUTTON1_MASK | MouseEvent.SHIFT_MASK? – DarkKnight
MouseEvent擴展了InputEvent,所以它也可以工作,但InputEvent工作100%。 http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseEvent.html – Ossie7
@ Ossie7能否請您鏈接到Java的API 7在未來,它有助於突出可能淘汰的API給用戶除其他事項外) – MadProgrammer
按與robot
class
的關鍵很簡單:
r.keyPress(KeyEvent.VK_SHIFT); //hold down shift
r.mousePress(InputEvent.BUTTON3_MASK); //perform a right click
r.mouseRelease(InputEvent.BUTTON3_MASK); //release right click
r.keyRelease(KeyEvent.VK_SHIFT); //release shift
InputEvent
和KeyEvent
是java.awt.event
。
OP說*「執行SHIFT +鼠標右鍵單擊」 * –
很簡單,補充說,在 – axl
@Tim:好的,謝謝。 –