带有 JavaFX 的 Eclipse e4 - 如何获取应用程序和阶段 (javafx) 的实例?

Eclipse e4 with JavaFX - How to get instances of Application and Stage (javafx)?

我正在尝试将 GraniteDS 框架添加到 Javafx E4 应用程序。我已经将 GraniteDS Javafx 库 osgify 到包中,我可以在 JavaFX OSGi 应用程序中对其进行初始化(osgi 应用程序具有 jfxStart 方法和我需要的参数)。
但是在 Javafx E4 应用程序(使用 e(fx)clipse 向导创建)中没有 类 具有启动功能。 在 osgi 应用代码中是:

protected void jfxStart(IApplicationContext applicationContext, Application jfxApplication, Stage primaryStage) {
        contextManager = new SimpleContextManager(new JavaFXApplication(jfxApplication, primaryStage));
        contextManager.initModules(App.class);  
        Context context = contextManager.getContext();
        context.set(this);
    .......
}

问题是 - 如何在 Javafx E4 应用程序中获取 jfxApplicationprimaryStage 实例以及在何处(何时)执行初始化(可能在 Activator 启动方法中?)

两者都可以通过 DI 获得:

class MyComponent {
  @Inject
  public MyComponent(Application app, @Named("primaryStage") Stage primaryStage) {

  }
}

请注意,primaryStage 永远不会显示在 e4+JavaFX 应用程序中,因此您可能真正想要的是您所显示的阶段 - 所以很可能您真正想要的是

class MyComponent {
  @Inject
  public MyComponent(Application app, Stage primaryStage) {

  }
}