好的,至少在此应用程序中,我找到了解决方案:
这是一个多窗口应用程序;JavaFX组件不在主应用程序窗口中,而是在子窗口中。
JavaFX“平台”的设置为“ ImplicitExit”,默认情况下为“ true”。
显然,当关闭子窗口和关闭主应用程序时,都会调用JavaFX Platform.exit()。第二次调用(当应用程序关闭时)生成原始问题中描述的错误消息。
在任何情况下,“隐式退出”行为都是不可取的,因为它阻止了子窗口在应用程序的生命周期中第二次重新打开。
因此,解决方案是关闭“隐式出口”。这是子窗口中的JavaFX初始化代码:
Platform.runLater(new Runnable() { @Override public void run() { view = new WebView(); engine = view.getEngine(); jfxPanel.setScene(new Scene(view)); Platform.setImplicitExit(false); // Otherwise cannot open report window a second time }});


