2016-09-08 2 views
1

最近、rcpアプリケーションをe4にアップグレードしました。私たちは火星を使用しています。私はe4イベントバスを試しています。私はPlatformUI.getWorkbench().getService(IEventBroker.class);をダイアログクラスコードに追加しました。ただし、nullが返されます。 IEventBrokerはe4プラットフォームの本質的な部分です。ここには何が欠けているでしょうか?PlatformUI.getWorkbench()。getService(IEventBroker.class)がnullを返す

答えて

0

純粋なe4アプリケーション(またはorg.eclipse.ui.xxxプラグインのその他のもの)ではPlatformUIを使用しません。

IEventBrokerを注入するか、IEclipseContextから取得する必要があります。

通常の方法で作成すると、ダイアログは挿入されません。 ContextInjectionFactory.makeを使用して、注入を伴うクラスを作成することができます。