2017-04-21 17 views
0

アプリケーションが初期化された後、部品スタック内で部品を自動的に作成しようとしています。私はこれのためにEPartServiceが必要ですが、私はこのサービスを適切に保持する方法は考えられません。RCPアプリケーションが初期化された後にEPartServiceにアクセス

ライフサイクル管理を使用して現在のIEclipseContextを取得しようとしました。ただし、コンテキストを使用してサービスにアクセスしようとするたびに、それが見つかりません。

どうすればいいですか?

+0

初期化されているとはどういう意味ですか?私はLifeCycle管理クラスなしでアプリケーションモデルとコマンドハンドラを使用して部品を開くための1つの例を作成しました。[Here](https://milanardeshana.wordpress.com/2016/01/23/open-a-view-using-command- and-handler-in-e4アプリケーション/) –

答えて

0

ライフサイクルクラスの定義された方法のいずれかにEPartServiceを注入することができます。ただし、アプリケーションの起動が完了するまでは、パートを表示することはできません。したがって、ライフサイクルクラスに次のようなメソッドを追加して、App Startup Completeイベントを使用してください:

@Optional 
@Inject 
public void appStartupComplete(@UIEventTopic(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE) Event event, 
           EPartService partService) 
{ 
    .... 
} 
関連する問題