Для окон и Linux я могу обнаружить щелчок правой кнопкой. Но для Mac я donot знают, как обнаружить, щелкают правой кнопкой.
Как записать программу Java для обнаружения щелчка правой кнопкой для Mac OS
Спасибо Sunil KUmar Sahoo
Это то же самое, что и обнаружение щелчка правой кнопкой мыши в Windows или Linux - вы вызываете свой метод MouseEvent getButton ()
, чтобы проверить, был ли нажат BUTTON3
. Например, взгляните на следующий фрагмент примера MouseListener:
public class MyListener implements MouseListener
{
// ... code ...
public void mouseClicked(MouseEvent event)
{
if (event.getButton() == MouseButton.BUTTON3)
{
// Right-click happened
}
}
}
Однако он обнаруживает щелчки правой кнопкой мыши только в том случае, если у пользователя действительно есть двухкнопочная мышь. Поскольку у большинства мышей Mac не так давно была только одна кнопка, вы можете также рассмотреть возможность обнаружения щелчков Control (что в то время было распространенной идиомой для щелчка правой кнопкой мыши). Если вы решите это сделать, реализация будет довольно тривиальной: просто добавьте еще одну проверку, возвращает ли event.isControlDown ()
истину.
Вместо использования MouseEvent.BUTTON3 лучше использовать самодокументирующий подход
if (SwingUtilities.isRightMouseButton(event))
// do something
Кроме того, если вы используете этот код для отображения всплывающего меню, вам не следует использовать этот подход поскольку в каждой ОС для вызова всплывающего меню используются разные нажатия клавиш. Прочтите раздел из учебника Swing на Вызов всплывающего меню .