0

私はテスト プロジェクトに取り組んでおり、Vogella の RCP チュートリアルに従いました。その後、いくつかの変更を加えました。を作成しましたJFace TreeView。ユーザーが要素をダブルクリックすると、TreeView別の要素が開きますPart。コマンドはありますが、呼び出す方法がわかりません。チュートリアルを見ると、ビューではなくパーツのみを使用していることに気付くかもしれませんApplication.java。また、ワークベンチを開始するクラスがありません。したがって、次の方法は機能しません。

  1. IHandlerService handlerService = (IHandlerService) viewer.getSite().getService(IHandlerService.class);
  2. IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class); handlerService.executeCommand(cmdID, null);

両方とも私に与えますNullPointerException

4

2 に答える 2

0

この古いスタンバイはどうですか?

Command command = ((ICommandService)getSite().getService(ICommandService.class)).getCommand(commandId);
...
final Event trigger = new Event();
ExecutionEvent executionEvent = ((IHandlerService)getSite().getService(IHandlerService.class)).createExecutionEvent(command, trigger);
command.executeWithChecks(executionEvent);
于 2012-10-04T13:53:33.303 に答える