【问题标题】:JavaFX Application doesn't terminate after using Platform.exit()使用 Platform.exit() 后 JavaFX 应用程序不会终止
【发布时间】:2013-12-27 15:30:47
【问题描述】:

我正在使用 JavaFX 2.2,并且我有一个扩展应用程序类的类。 这是我的代码。在那之后,我的程序完成了它的工作,它不会终止并继续它的生命。我该怎么办?

new JFXPanel();
Platform.runLater(new Runnable() {
        @Override
        public void run() {
            ApplicationExtendedClass s = new ApplicationExtendedClass();
            s.start(new Stage());
        }
    });
    synchronized (SynchronyzingObject.getInstance()) {
        try {
            SynchronyzingObject.getInstance().wait();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    Platform.exit();

我使用 SynchronyzingObject 来同步我的线程之间的工作并等待另一个线程的工作结束,然后 Platform.exit() 工作以退出它。 在通知 SynchronyzingObject 之前,我还在该线程的工作结束时编写了 Platform.exit()。 我应该怎么做才能完成我的程序。

编辑:

这个应用程序在另一个程序中间运行,以便处理一些数据并将它们添加到数据库中,在这个程序完成后,我不希望我的整个项目关闭,我只想终止这个应用程序的线程.

【问题讨论】:

    标签: java multithreading javafx


    【解决方案1】:

    在您的代码中使用System.exit(0); 来关闭应用程序。

    Platform.exit();
    System.exit(0);
    

    【讨论】:

    • System.exit(0) 杀死所有java进程,不是吗?
    • 我不想要这个,我希望其他线程继续他们的生活。
    • 您说您的应用程序不会终止,这就是您的解决方案的原因。提供您的问题的详细信息。
    • 对不起,你是对的,现在我将更详细地编辑我的帖子。
    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    相关资源
    最近更新 更多