有没有办法监听鼠标滚轮按下(不移动滚轮,只需按下滚轮)?
我已经检查了MouseWheelListener API,但鼠标滚轮按下没有任何内容,只是车轮移动。
答案 0 :(得分:9)
鼠标滚轮按钮通常是鼠标按钮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)
通过MouseListener
界面报告鼠标滚轮。
使用mousePressed
和mouseReleased
事件并检查MouseEvent.getButton()
方法以返回按下或释放的按钮编号。
您还可以使用mouseClicked
事件检测点击次数,但我发现鼠标点击的内置条件太窄。但是,在这种情况下,可以单击多个鼠标按钮,您可以使用MouseEvent.getModifiers()
获取按下按钮的位掩码。