java - 启动第二个 JavaFX 应用程序

标签 java javafx-2 javafx

我正在尝试从 JavaFx 应用程序中启动 JavaFx 应用程序,但看起来 Application.launch() 只能调用一次。这是否意味着我必须启动一个单独的 JVM... 就像在 exec("java... 或者有其他方法吗?

更多背景信息。我希望我的 JavaFx 应用程序能够构建和运行 JavaFx 应用程序。现在它在内存中编译类,加载类……如果我不得不将所有内容写入文件系统,这样我就可以在文件系统上获得一个 jar,这样我就可以使用 exec 来启动它,这真的很不幸。

作为次要问题...有没有办法打开另一个 JavaFx 窗口并获取舞台并将其传递给我新编译和加载的应用程序子类?

最佳答案

如果您想在同一个 JVM 中执行另一个 JavaFX 应用程序,您只需创建它的实例,手动创建 Stage 并调用 Application#start()

public void runAnotherApp(Class<? extends Application> anotherAppClass) throws Exception {
    Application app2 = anotherAppClass.newInstance(); 
    Stage anotherStage = new Stage();
    app2.start(anotherStage);
}

N.B.:如果您在另一个应用程序中使用标准初始化的特殊功能,例如Application.init()Application.getParameters()

关于java - 启动第二个 JavaFX 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436659/

相关文章:

java - 如何为 Jersey 中的每个请求在 cookie 中设置 session key

multithreading - JavaFX2 : Can I pause a background Task/Service?

java - 我们是否应该在 JavaFX 自定义控件中使用 FXML?

java - 在 JavaFX 中为面板中的对象设置相机

javafx - 如何将 ScrollPane 事件 KEY_PRESSED、KeyCode.LEFT 传递给父 Pane ?

java - 如何使用 JSF/MyFaces 创建基于用户角色的条件?

java - 我的辛普森法则计算器正确吗(java)?

java - 在从 Ant 运行的 javascript 中,如何获取参数值?

java - javafx TableCell 类中的 updateItem() 方法

javafx-2 - 如何为 JavaFX XYChart.Series 设置特定颜色?