Как я могу выделить щелчок правой кнопкой мыши по щелчку левой кнопкой мыши по всплывающему меню в swt?Java, swt, Как отличить щелчок правой кнопкой мыши по щелчку левой кнопкой мыши по всплывающему меню
Добавляя SelectionListener, я могу действовать как слева, так и правой кнопкой мыши, но как знаю, какой из них использовался? Возможно ли иметь MouseListener в MenuItem?
Что я хочу сделать, это похоже на меню избранных браузеров, щелкните левой кнопкой мыши, чтобы выбрать , и щелкните правой кнопкой мыши для избранного контекстного меню.
Button bn = new Button(shell, SWT.FLAT);
bn.setText("Right Click to see the popup menu");
Menu popupMenu = new Menu(bn);
MenuItem newItem = new MenuItem(popupMenu, SWT.CASCADE);
newItem.setText("New");
newItem.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
System.out.print("SELECTED1\n");
}
public void widgetDefaultSelected(SelectionEvent e) {
System.out.print("SELECTED2\n");
}
});
Для уточнения: К сожалению, не удалось включить снимок экрана, но я думаю, что вы можете увидеть, что я имею в виду, если вы будете следовать этому описанию.
- Выберите меню Избранное в проводнике Windows (или, возможно, любой другой браузер)
- Если щелкнуть левой кнопкой мыши на одном из избранных браузер откроет этот URL, , но вы можете также правой кнопкой мыши на этом любимый.
- Щелкните правой кнопкой мыши, чтобы открыть контекстное меню для выбранного избранного.
Мне также нужны два разных действия для одного и того же MenuItem (фактически для той же цели, что и браузер).
Хорошо, но выберите (левый клик) и контекстное меню (правый щелчок) уже включены в мой ответ ... – Baz
Да на кнопке, но мне это не удалось сделать в MenuItem. На самом деле я подозреваю, что os имеет только «выбранное» событие для меню, и, насколько я вижу, это событие не содержит информации о том, какая кнопка используется. В браузере это может быть виджет, который выглядит только как меню. Конечно, я мог бы это сделать, но это сэкономило бы много работы, если бы можно было использовать Меню. – owan
Хорошо, после некоторого тестирования я уверен, что невозможно различать левый и правый щелчок на «MenuItem». – Baz