java - 如何使用 Preloader 重新启动 JavaFX 中的应用程序?

标签 java javafx preloader

我知道可以调用 LaunchImpl 但它需要一个 args 数组,因此在 main 之外它对于 Reststart 来说是无用的,但如果我只使用 Application 类的 init() 和 start() ,则 Preloader 类就不是不再工作了。

使用 init()start() 但预加载器当然不会重新启动。

primaryStage.close();
Platform.runLater(() -> {
    try {
        final JavaFXApplication javaFXApplication = new    JavaFXApplication();
        javaFXApplication.init();
        javaFXApplication.start(new Stage());
    } catch (Exception e) {
        e.printStackTrace();
    }
});

最佳答案

实例化应用程序后,您需要通过调用 Application#notifyPreloader 通知您的预加载器。在你的情况下,这看起来像:

javaFXApplication.notifyPreloader(new Preloader.ProgressNotification(0));

这当然适用于其他 Preloader.PreloarderNotification 实例。

关于java - 如何使用 Preloader 重新启动 JavaFX 中的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759975/

相关文章:

javascript - javascript while 循环运行时图像不加载

java - 如何使用数组来存储问题和答案以进行测验

java - Eclipse 无法在 JAR 中找到类

java - 如何停止等待用户输入?

multithreading - Javafx Task<ObserveableList>.updateValue 仅触发第一个更改事件

java - 将消息 JavaFX gui 交换到同一台机器上的 C++ 应用程序

javafx - 在 javafx 中将整数转换为 ObservableValue<Integer>

java - Android 架构组件中 AndroidViewModel 和 ViewModel 有什么区别?

javascript - 页面预加载器加载较晚

javascript - ajaxStop 有时在 ajaxStart 之后没有触发