2012-01-05 15 views
5

C'è un modo per ascoltare le rotella del mouse (non spostando la rotella, semplicemente premendo)?Come si ascolta la pressione del mouse?

Ho controllato l'API MouseWheelListener ma non c'è nulla sulle rotelline del mouse, solo i movimenti delle ruote.

risposta

7

rotellina Mouse è solitamente pulsante del mouse 2:

public void mouseClicked(MouseEvent evt) { 

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

} 

o meglio:

SwingUtilities.isMiddleMouseButton(MouseEvent anEvent) 
+1

+1 per 'SwingUtilities.isMiddleMouseButton (MouseEvent)'. Ho trovato questo è incoerente attraverso le piattaforme e non ho saputo di questo metodo. Grazie! –

1

presse ruote mouse presentate attraverso l'interfaccia MouseListener.

Utilizzare le mousePressed e mouseReleased eventi e controllare il metodo MouseEvent.getButton() per restituire il numero tasto premuto o rilasciato.

È inoltre possibile rilevare i clic con l'evento mouseClicked, ma ho trovato che i criteri incorporati per i clic del mouse sono troppo stretti. In questo caso, tuttavia, è possibile fare clic su più pulsanti del mouse e utilizzare MouseEvent.getModifiers() per ottenere una maschera di bit dei pulsanti premuti.

Problemi correlati