2012-01-05 5 views
5

¿Hay alguna manera de escuchar las presiones de la rueda del mouse (sin mover la rueda, simplemente presionándola)?¿Cómo escucho las prensas de las ruedas del mouse?

He comprobado la API MouseWheelListener pero no hay nada en las prensas de la rueda del ratón, sólo los traslados de las ruedas.

Respuesta

7

botón de la rueda del ratón es generalmente botón del ratón 2:

public void mouseClicked(MouseEvent evt) { 

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

} 

o incluso mejor:

SwingUtilities.isMiddleMouseButton(MouseEvent anEvent) 
+1

+1 para 'SwingUtilities.isMiddleMouseButton (MouseEvent)'. He encontrado que esto no es uniforme en todas las plataformas, y no sabía acerca de este método. ¡Gracias! –

1

prensas rueda del ratón se informan a través de la interfaz de MouseListener.

Utilice los mousePressed y mouseReleased eventos y comprobar el método MouseEvent.getButton() para devolver el número botón presionado o liberado.

También puede detectar clics con el evento mouseClicked, pero he encontrado que los criterios integrados para los clics del mouse son demasiado estrechos. En este caso, sin embargo, se pueden hacer clic en varios botones del mouse y puede usar MouseEvent.getModifiers() para obtener una máscara de bits de los botones presionados.

Cuestiones relacionadas