使用Platform.exit()后,JavaFX应用程序不会终止

Sey*_*ian 5 java multithreading javafx

我正在使用JavaFX 2.2,我有一个扩展Application Class的类.这是我的代码.在那之后我的程序完成了它的工作,它不会终止并继续它的生命.我做什么?

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();
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

Shr*_*ave 10

System.exit(0);与您的代码一起使用以关闭应用程序.

Platform.exit();
System.exit(0);
Run Code Online (Sandbox Code Playgroud)

  • 你说应用程序没有终止,这就是为什么以上是你的解决方案.提供问题的详细信息. (4认同)