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

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

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

Спасибо


person DD.    schedule 24.12.2010    source источник


Ответы (3)


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

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

person barjak    schedule 24.12.2010

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

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

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

person Codemwnci    schedule 24.12.2010

я видел

anEvent.isPopupTrigger() 

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

person Sam Jarman    schedule 29.06.2013
comment
да, но согласно bugs.java.com/bugdatabase/view_bug.do?bug_id = 4119064 и моя собственная практика, эта функция некорректно работает в Windows. А жучок уже 16 лет ... - person Gangnus; 01.12.2014