1

メニュー項目として提供されたコマンドがチェックされているかチェックされていないか (CHECK BOX タイプの場合)、選択されているかどうか (RADIO ボタン タイプの場合) をプログラムでチェックする方法は、ハンドラの"execute"メソッド内にあります。ここでスナップショットを参照してください https://docs.google.com/file/d/0B3pxBGD-v-ycWVFaeElnSGdyTE0/edit .

4

2 に答える 2

2

このブログをチェックしてください: http://eclipsesource.com/blogs/2009/01/15/toggling-a-command-contribution/

したがって、まず、コマンドに適切なスタイルがあることを確認してください。

<extension point="org.eclipse.ui.menus">
  <menuContribution locationURI="...">
    <command commandId="org.eclipse.example.command.toggle"
              style="toggle" />
  </menuContribution>
</extension>

次に、次のように状態を確認できます。

ICommandService service =(ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
Command command = service.getCommand("org.eclipse.example.command.toggle");
State state = command.getState("org.eclipse.example.command.toggleState");
System.out.println(state.getValue());
//state.setValue(!(Boolean) state.getValue());

また、org.eclipse.ui.handlers.HandlerUtil も参照してください。役立つ場合があります。

お役に立てれば。

于 2013-01-30T10:36:25.450 に答える
1

私は解決策を得ました.このコードをハンドラ実行メソッドメソッドに追加しました

public Object execute(ExecutionEvent event) throws ExecutionException {

   Event selEvent = (Event) event.getTrigger();
   MenuItem item = (MenuItem) selEvent.widget;

   System.Out.Println(item.getSelection());     
   return null;
}
于 2013-01-31T07:56:05.900 に答える