Scala MouseEvent - Как узнать, какая кнопка была нажата?

Я пишу приложение scala, используя scala swing. Я могу прослушивать MouseClicked , чтобы получать уведомления всякий раз, когда щелкают мышью, но как узнать, какая кнопка была нажата. Документация довольно плохая, поэтому я посмотрел в документации Java для MouseEvent , в котором говорится, что ключ можно получить из поля модификаторов, поэтому я попытался вывести поле модификаторов scala Событие MouseClicked , которое оказалось целым числом, 0 для щелчка левой кнопкой мыши, кнопки мыши 3 и кнопки мыши 4 и 256 для щелчка правой кнопкой мыши.

Похоже, это сработает, если мне нужно только знать разницу между щелкните левой и правой кнопкой мыши, но могу ли я быть уверен, что все модификаторы работают именно так? В документации ничего не говорится, и, насколько я знаю, на модификаторы могут влиять другие вещи, кроме того, какая кнопка мыши была нажата. Я также хотел бы узнать разницу между левым щелчком и кнопками мыши 3 и 4. Я не думаю, что пользователи ожидают, что они будут делать то же самое, что и щелчок левой кнопкой.

В документации scala есть MouseButtonEvent , это можно для чего-нибудь использовать? В документации ничего не говорится о том, что он делает.

8
задан axel22 10 July 2011 в 20:32
поделиться