Как получить среднюю кнопку мыши в Java?

Я использую public boolean mouseDown(Event ev, int x, int y) обнаружить щелчок мыши.
Я могу различить правую кнопку мыши (ev.metaDown() true) и левую и среднюю.

Как я могу отличить левую от средней кнопки? Или, если это невозможно с mouseDown, что я должен использовать?

3 ответа

Решение

Попробуйте использовать ALT_MASK:

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

Таким образом, ваш код может быть:

if (ev.modifiers & Event.ALT_MASK != 0) {
    // middle button was pressed
}

Конечно, все это предполагает, что у вас есть очень веская причина использовать mouseDown, поскольку он устарел. Вместо этого вы (вероятно) должны использовать processMouseEvent, который дает вам MouseEvent для игры.

mouseDown устарела. Все, что вам нужно, доступно MouseEvent. getButton. Трек BUTTON3.

Это может сделать это:

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingUtilities.html

Сам не пробовал.

Другие вопросы по тегам