【问题标题】:How do I listen for mouse wheel presses?如何监听鼠标滚轮按下?
【发布时间】:2012-01-05 13:06:58
【问题描述】:

有什么方法可以监听鼠标滚轮的按下(不移动滚轮,只是按下它)?

我检查了 MouseWheelListener API,但鼠标滚轮上没有任何内容,只是滚轮移动。

【问题讨论】:

    标签: java swing mousewheel


    【解决方案1】:

    鼠标滚轮按钮通常是鼠标按钮2:

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

    甚至更好:

    SwingUtilities.isMiddleMouseButton(MouseEvent anEvent)
    

    【讨论】:

    • +1 表示SwingUtilities.isMiddleMouseButton(MouseEvent)。我发现这是跨平台的不一致,并且不知道这种方法。谢谢!
    【解决方案2】:

    鼠标滚轮按下通过MouseListener接口报告。

    使用mousePressedmouseReleased 事件并检查MouseEvent.getButton() 方法以返回按下或释放的按钮编号。

    您也可以使用mouseClicked 事件检测点击,但我发现鼠标点击的内置标准太窄了。但是,在这种情况下,可以单击多个鼠标按钮,您可以使用 MouseEvent.getModifiers() 来获取按下按钮的位掩码。

    【讨论】:

      猜你喜欢
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多