【发布时间】:2012-01-05 13:06:58
【问题描述】:
有什么方法可以监听鼠标滚轮的按下(不移动滚轮,只是按下它)?
我检查了 MouseWheelListener API,但鼠标滚轮上没有任何内容,只是滚轮移动。
【问题讨论】:
标签: java swing mousewheel
有什么方法可以监听鼠标滚轮的按下(不移动滚轮,只是按下它)?
我检查了 MouseWheelListener API,但鼠标滚轮上没有任何内容,只是滚轮移动。
【问题讨论】:
标签: java swing mousewheel
鼠标滚轮按钮通常是鼠标按钮2:
public void mouseClicked(MouseEvent evt) {
if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0) {
System.out.println("middle" + (evt.getPoint()));
}
}
甚至更好:
SwingUtilities.isMiddleMouseButton(MouseEvent anEvent)
【讨论】:
SwingUtilities.isMiddleMouseButton(MouseEvent)。我发现这是跨平台的不一致,并且不知道这种方法。谢谢!
鼠标滚轮按下通过MouseListener接口报告。
使用mousePressed 和mouseReleased 事件并检查MouseEvent.getButton() 方法以返回按下或释放的按钮编号。
您也可以使用mouseClicked 事件检测点击,但我发现鼠标点击的内置标准太窄了。但是,在这种情况下,可以单击多个鼠标按钮,您可以使用 MouseEvent.getModifiers() 来获取按下按钮的位掩码。
【讨论】: