Событие мыши Java Щелкните правой кнопкой мыши

88

На моей трехкнопочной мыши MouseEvent.BUTTON2= средний щелчок и MouseEvent.BUTTON3= правый щелчок.

Это случай двухкнопочной мыши?

Благодарность

DD.
источник

Ответы:

171

Чтобы избежать двусмысленности, используйте служебные методы из SwingUtilities :

SwingUtilities.isLeftMouseButton(MouseEvent anEvent) SwingUtilities.isRightMouseButton(MouseEvent anEvent) SwingUtilities.isMiddleMouseButton(MouseEvent anEvent)

баржак
источник
10

Да, взгляните на эту ветку, в которой рассказывается о различиях между платформами.

Как определить событие щелчка правой кнопкой мыши в Mac OS

BUTTON3одинаково для всех платформ, равно как и правая кнопка мыши. BUTTON2 просто игнорируется, если средняя кнопка не существует.

Codemwnci
источник
1

я видел

anEvent.isPopupTrigger() 

использоваться раньше. Я новичок в Java, поэтому рад слышать мысли об этом подходе :)

Сэм Джарман
источник
7
да, но согласно bugs.java.com/bugdatabase/view_bug.do?bug_id=4119064 и моей собственной практике эта функция не будет работать правильно в Windows. И ошибка существует уже 16 лет ...
Gangnus