-1

我正在构建一个在后台运行的应用程序,并通过单击SystemTray上的图标提供对控制面板(JavaFX 对话框)的访问。

ApplicationJavaFX 9通过调用方法增加了在不扩展类的情况下启动 JavaFX 应用程序的能力Platform.startup()

当用户双击系统托盘图标时,我调用Platform.runLater()并传递给它一个新对话框的创建和显示。但是,当用户关闭第一个对话框并尝试再次打开它时,它会默默地打开失败。

在调查了 openJFX 11.0.1 源代码后,发现一旦关闭最后一个 JavaFX 窗口,JavaFX 运行时就会终止其工具包。

我试图隐藏对话框而不是关闭它,但这也无济于事。有什么解决方法吗?

4

1 回答 1

3

你想用Platform.setImplicitExit(false).

implicitExit属性设置为指定值。如果此属性为真,JavaFX 运行时将在最后一个窗口关闭时隐式关闭;JavaFX 启动器将调用该Application.stop()方法并终止 JavaFX 应用程序线程。如果此属性为 false,则即使在最后一个窗口关闭后,应用程序仍将继续正常运行,直到应用程序调用exit(). 默认值是true。

于 2018-12-13T11:30:46.030 回答