2012-01-05 78 views
5

有什麼辦法來監聽鼠標滾輪機(不動輪,只需按下它)?如何聆聽鼠標輪按?

我已經檢查了MouseWheelListener的API,但沒有什麼對鼠標滾輪印刷機,只是輪movings。

回答

7

鼠標滾輪鍵通常爲鼠標按鈕2:

public void mouseClicked(MouseEvent evt) { 

    if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0) { 
     System.out.println("middle" + (evt.getPoint())); 
    } 

} 

或甚至更好:

SwingUtilities.isMiddleMouseButton(MouseEvent anEvent) 
+1

1爲'SwingUtilities.isMiddleMouseButton(的MouseEvent)'。我發現這是跨平臺不一致的,並且不知道這種方法。謝謝! – 2012-01-05 13:14:59

1

鼠標滾輪壓力機通過MouseListener接口報告。

使用mousePressedmouseReleased事件並檢查MouseEvent.getButton()方法以返回按下或釋放的按鈕號。

您也可以檢測與mouseClicked點擊事件,但我發現,鼠標點擊內置的標準過於狹窄。在這種情況下,然而,多個鼠標按鈕可以點擊,您可以使用MouseEvent.getModifiers()得到按下按鈕的位掩碼。