2016-12-22 9 views
0

, когда я нажму правой кнопкой мыши, откройте контекстное меню. как я это сделаю. Я также пробую этот кодКак создать контекстное меню или щелкнуть правой кнопкой мыши по кнопке

MenuManager menuManager = new MenuManager(); 
Menu menu = menuManager.createContextMenu(btn.getText()); 

btn.getText().setMenu(menu); 

getSite().registerContextMenu(menuManager, btn); 

getSite().setSelectionProvider(btn); 

У меня возникла проблема в createContextMenu. Пожалуйста, помогите мне

ответ

2

createContextMenu требует в качестве аргумента Control, вы передаете текст кнопки String. Метод setMenu также относится к Control. Итак:

MenuManager menuManager = new MenuManager(); 
Menu menu = menuManager.createContextMenu(btn); 

btn.setMenu(menu); 

getSite().registerContextMenu(menuManager, btn); 

Button не реализует ISelectionProvider так что вам придется писать, если вы хотите использовать кнопку в качестве поставщика выбора.

Обратите внимание, что часть может регистрировать только одно контекстное меню, подобное этому, и может быть только один поставщик выбора для части.

Если вы хотите вклад контекстного меню из других частей Eclipe, которые будут добавлены в меню, необходимо добавить строку:

menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); 
+0

мы должны зарегистрировать контекстное меню и набор выбора поставщика также. без всего этого мы не можем показать менеджер меню – Rahul

+0

Эта часть кода в порядке, поэтому я не показывал ее. –

+0

Я сделал все изменения, которые вы предлагаете, но я не смог просмотреть параметр правого клика на кнопке – Rahul