如何在浏览器退出时终止javafx应用程序

如何在浏览器退出时终止javafx应用程序,java,process,browser,javafx,Java,Process,Browser,Javafx,您好,我在JavaFX应用程序中遇到了一个小问题,当所有浏览器窗口关闭时终止java进程。我试图处理Stage.setOnHiding或.setOnCloseRequest,并在处理程序体中终止所有正在运行的线程和do Platform.exit,但没有成功。首先,当我关闭浏览器时,没有调用任何处理程序setOnHiding和setOnCloseRequest。另外,当浏览器关闭时,设置Platform.setImplicitExit(true)并不会导致java进程终止——这只在某些情况下有效

您好,我在JavaFX应用程序中遇到了一个小问题,当所有浏览器窗口关闭时终止java进程。我试图处理Stage.setOnHiding或.setOnCloseRequest,并在处理程序体中终止所有正在运行的线程和do Platform.exit,但没有成功。首先,当我关闭浏览器时,没有调用任何处理程序setOnHiding和setOnCloseRequest。另外,当浏览器关闭时,设置Platform.setImplicitExit(true)并不会导致java进程终止——这只在某些情况下有效。Sth防止javafx进程在web浏览器关闭后被终止。我怎样才能发现什么

对我来说,浏览器中托管的JavaFX应用程序总是在浏览器关闭时自动终止

您应该实现以检测应用程序关闭事件


阶段级方法setOnCloseRequest和SetOnHidden不是检测应用程序级关闭事件的正确方法。

是否在应用程序中创建其他线程?如果是,它们是如何创建的?你的应用程序退出方法被调用了吗?jewelsea,是的,确实有3个线程是我创建的,但它们是deamons,所以我认为它们不应该阻止应用程序退出。我调用Platform.exit()方法,但仅当我单击“注销”按钮时,用户才从服务器注销,然后单击“确定”。当所有窗口都关闭时,JavaFX应该退出,问题是在执行嵌入到浏览器中的应用程序时,上面的内容似乎不适用,只有当JavaFX应用程序作为独立程序而不是在浏览器中运行时,才会调用setOnCloseRequest的处理程序。我认为同样的套路设置隐式xit(true)原始问题的最后两句没有意义。好的,谢谢你,看起来你给了我解决方案。我没有实现停止方法。就这些。