我发现java.asw.event.MouseEvent的方法getButton只能侦测到鼠标1,2,3键的按下事件,不能侦测到滚轮事件。大家说说怎么办才能侦测到滚轮事件呢?

解决方案 »

  1.   

    Runshine, 我还是有问题呀。我怎么捕捉不到wheel的事件呢?我定义的事件处理类是:
    public class MouseHandler implements MouseListener, MouseMotionListener,
            MouseWheelListener
    {...
       public void mousePressed( MouseEvent e )
       {...}
       public void mouseWheelMoved(MouseWheelEvent e)
       {...}
     ...};其中mousePressed能被触发,但是mouseWheelMoved不能呀。 这是怎么回事呢? 
      

  2.   

    MouseWheelListener
    public void mouseWheelMoved(MouseWheelEvent e) {     int dir = e.getWheelRotation();
        
        // down
        if (dir == 1) {
        }    // up
        if (dir == -1) {    }
    }
      

  3.   

    public interface MouseWheelListenerextends EventListener用于接收组件上的鼠标滚轮事件的侦听器接口。(对于单击和其他鼠标事件,请使用 MouseListener。对于鼠标移动和拖动,请使用 MouseMotionListener。) 旨在处理鼠标滚轮事件的类实现此接口(及其包含的所有方法)。 然后使用组件的 addMouseWheelListener 方法将从该类所创建的侦听器对象向该组件注册。旋转鼠标滚轮时生成鼠标滚轮事件。发生鼠标滚轮事件时,将调用对象的 mouseWheelMoved 方法。 void mouseWheelMoved(MouseWheelEvent e)鼠标滚轮旋转时调用。 
      

  4.   

    谢谢你,BSR. 我忘了调用addMouseWheelListener注册事件了。谢谢您呀!