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

Я ищу прослушиватель клавиатуры, особенно для ctrl и click , но мой код кажется неверным.

mm - событие мыши

  else if (buton==MouseEvent) {

                System.out.println("Clic right"); 

Итак, первая строка в порядке, потому что она печатает «клик вправо», но ctrl не работает.

Кто-то знает, почему?

Спасибо

Редактировать: Решено: event.getButton() == MouseEvent.BUTTON1 для левого щелчка, BUTTON2 для среднего щелчка и BUTTON3 для правого щелчка (в верхнем регистре) и метод isControlDown для ctrl


person Community    schedule 30.05.2013    source источник
comment
Можете ли вы показать еще немного кода? Что такое мм?   -  person ddmps    schedule 31.05.2013
comment
Должно работать, если вы используете правильный объект MouseEvent (тот самый, из которого вы получили buton, верно?).   -  person trutheality    schedule 31.05.2013
comment
Боже мой, правда, я считал, что кнопка 3 похожа на левую кнопку. Спасибо за правильное использование слова =D   -  person    schedule 31.05.2013


Ответы (2)


Это работает для меня:

@Override
public void mouseClicked(MouseEvent e) {
    if( e.getButton() == MouseEvent.BUTTON_3 && e.isControlDown() )
            System.out.println( "ctrl + right click" );
}
person trutheality    schedule 31.05.2013

else if (button == KeyEvent.V_CTRL && mouse == MouseEvent.LEFT_CLICK)
         System.out.println("Clic right");

попробуйте что-нибудь подобное. у меня сейчас нет открытого затмения, поэтому я не знаю, работает ли оно.

person fox_news    schedule 30.05.2013