Как обнаружить, щелкают правой кнопкой по событию для Mac OS

Для окон и Linux я могу обнаружить щелчок правой кнопкой. Но для Mac я donot знают, как обнаружить, щелкают правой кнопкой.

Как записать программу Java для обнаружения щелчка правой кнопкой для Mac OS

Спасибо Sunil KUmar Sahoo

6
задан Sunil Kumar Sahoo 4 June 2010 в 08:22
поделиться

2 ответа

Это то же самое, что и обнаружение щелчка правой кнопкой мыши в 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 () истину.

7
ответ дан 8 December 2019 в 04:07
поделиться

Вместо использования MouseEvent.BUTTON3 лучше использовать самодокументирующий подход

if (SwingUtilities.isRightMouseButton(event))
   // do something

Кроме того, если вы используете этот код для отображения всплывающего меню, вам не следует использовать этот подход поскольку в каждой ОС для вызова всплывающего меню используются разные нажатия клавиш. Прочтите раздел из учебника Swing на Вызов всплывающего меню .

15
ответ дан 8 December 2019 в 04:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: