Java WindowEvent没有规范? BetrachterFXMLController=loadergetController(); 事件处理程序h; h=(WindowEvent事件)->{ event.consume(); controller.end(); };

Java WindowEvent没有规范? BetrachterFXMLController=loadergetController(); 事件处理程序h; h=(WindowEvent事件)->{ event.consume(); controller.end(); };,java,user-interface,javafx,Java,User Interface,Javafx,我只是第一次看到这种类型的EventHandler。它应该做的是,当单击顶部的X时,它应该告诉控制器关闭程序(end()只调用Platform.exit)。这是因为这个GUI有多个窗口,当主窗口关闭时,所有窗口都应该关闭 我不明白为什么EventHandler只是等待一个随机的(?)WindowEvent。不必指定它处理哪个WindowEvent吗?使用someWindow.addEventHandler(…)注册时指定它处理的事件类型,或someWindow.setOnXXX(…)。您的意思是

我只是第一次看到这种类型的EventHandler。它应该做的是,当单击顶部的X时,它应该告诉控制器关闭程序(end()只调用Platform.exit)。这是因为这个GUI有多个窗口,当主窗口关闭时,所有窗口都应该关闭


我不明白为什么EventHandler只是等待一个随机的(?)WindowEvent。不必指定它处理哪个WindowEvent吗?

使用
someWindow.addEventHandler(…)注册时指定它处理的事件类型
,或
someWindow.setOnXXX(…)
。您的意思是:stage.setOnCloseRequest(h)?是的,没错。因此,它只为关闭请求注册。类似地,
someWindow.addEventHandler(WindowEvent.WINDOW\u CLOSE\u请求,h)
BetrachterFXMLController controller = loader<BetrachterFXMLController>getController();
EventHandler<WindowEvent> h;
        h = (WindowEvent event) -> {
            event.consume();
            controller.end();
        };