2012-01-05 115 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()得到按下按钮的位掩码。