2016-12-22 14 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); 

ButtonISelectionProviderを実装していないので、あなたが選択プロバイダとしてボタンを使用したい場合は、1つを記述する必要があります。

このような1つのコンテキストメニューしか登録することができないことに注意してください。部品の選択プロバイダは1つしかないことに注意してください。

あなたがEclipeの他の部分からコンテキストメニューの貢献をメニューに追加したい場合は、行を追加する必要があります。

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

我々はコンテキストメニューを登録し、また、選択プロバイダを設定する必要があります。これがなくてもメニューマネージャーは表示されません – Rahul

+0

コードの部分は大丈夫ですので、私はそれを見せませんでした。 –

+0

あなたが提案したすべての変更を行いましたが、ボタンの右クリックオプションを表示できませんでした。 – Rahul

関連する問題