2013-12-10 64 views
4

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

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()。 我应该怎么做才能让我的程序完成。

编辑:

这个应用在其他程序的运行中,为了做一些数据,并将它们添加到数据库中,并且这个节目,我不想让我的整个项目完成后关闭掉,我只是希望此应用程序的线程得到终止。

回答

10

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

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

System.exit(0)终止所有java进程,不是吗? –

+0

我不想要这个,我想要其他线程继续他们的生活。 –

+4

你说你的应用程序不会终止,这就是为什么上面是你的解决方案。提供问题的详细信息。 –