是否将java应用程序设置为在JavaFX浏览器窗口关闭时关闭?

是否将java应用程序设置为在JavaFX浏览器窗口关闭时关闭?,java,javafx,window,exit,terminate,Java,Javafx,Window,Exit,Terminate,当JavaFX浏览器窗口关闭时,如何将java应用程序设置为关闭 我有一个基于控制台的应用程序,在主要内容的末尾,询问用户是否希望查看网页。如果是,请打开网页。如果没有退出应用程序 据我所知,javaFX应用程序在窗口关闭时关闭。我的问题是,当窗口关闭时,我的应用程序中非FX且为命令/文本的部分似乎不会终止。当FX窗口关闭时,我如何实现应用程序完全终止 我将包括两个班。一个提示用户在输入n中查看页面和,然后终止。另一个类打开页面 packagemrarray; 导入javafx.applica

当JavaFX浏览器窗口关闭时,如何将java应用程序设置为关闭

我有一个基于控制台的应用程序,在主要内容的末尾,询问用户是否希望查看网页。如果是,请打开网页。如果没有退出应用程序

据我所知,javaFX应用程序在窗口关闭时关闭。我的问题是,当窗口关闭时,我的应用程序中非FX且为命令/文本的部分似乎不会终止。当FX窗口关闭时,我如何实现应用程序完全终止

我将包括两个班。一个提示用户在输入n中查看页面和,然后终止。另一个类打开页面

packagemrarray;
导入javafx.application.application;
导入javafx.geometry.Insets;
导入javafx.geometry.Pos;
导入javafx.scene.scene;
导入javafx.scene.layout.VBox;
导入javafx.scene.web.WebEngine;
导入javafx.scene.web.WebView;
导入javafx.stage.stage;
/*
*声明类,应用程序的子类。
*声明、实例化、初始化vBoxOF,
*/
公共类OpenSite扩展了应用程序
{
VBox vBoxOF=新的VBox();
/*
*声明方法。
*调用OpenSite.launch(OpenSite.class);,
*启动一个独立的应用程序。
*/
公共静态void invokeLaunch()
{
OpenSite.launch(OpenSite.class);
}
/*
*声明开始(阶段primaryStage),
*所有JavaFX应用程序的主要入口点,
*宣布primaryStageOP,
*顶级JavaFX容器。
*调用setId(“根”),
*分配标识符。
*声明、实例化、初始化webViewBrowserOL,
*作为管理webEngineOL的节点,显示其内容。
* 
*管理一个网页
*/
公共无效开始(阶段primaryStage)
{
setId(“根”);
WebView webViewBrowserOL=新建WebView();
WebEngine webEngineOL=webViewBrowserOL.getEngine();
字符串urlSL=”http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html";
webEngineOL.load(urlSL);
设置填充(新插图(30,50,50,50));
vBoxOF.setSpacing(10);
vBoxOF.设置对齐(位置中心);
vBoxOF.getChildren().addAll(webViewBrowserOL);
场景场景=新场景(vBoxOF);
初生阶段:西新世(sceneOL);
primaryStage.show();
//ViewSiteOrExit.exitApp();
}

}
如果您没有要保存的内容,可以在
stage.setOnCloseRequest()上使用
System.exit(0)

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
        @Override
        public void handle(WindowEvent event) {
            System.exit(0);
        }
});

您应该使用Lambda表达式:

primaryStage.setOnCloseRequest(
    (WindowEvent we) -> {
        Platform.exit();
    });

@ReedWilliams19842004-让别人为你工作,你没有学到任何东西。你的问题质量都非常低,而且在任何情况下都是几十个其他初学者问题的翻版,这些问题已经被问过无数次了。做一些调查,问一些没有被问过的问题,并一遍又一遍地回答。如果你继续这样下去,你可能会被禁止提问。
OpenSite.invokeLaunch();
...        // Complete your task
if(!Platform.isFxApplicationThread())
      exitApp(); // or System.exit(0);
primaryStage.setOnCloseRequest(
    (WindowEvent we) -> {
        Platform.exit();
    });