JavaFX FXML Controller onClose 或等效物?

JavaFX FXML Controller onClose or equivalent?

当用户离开应用程序中的视图时,JavaFX 控制器是否有一个方法被调用?基本上与 initialize() 方法相反。

我想这样做是因为我有一个页面显示网络摄像头流等待用户按下拍摄快照的按钮,如果用户不拍摄快照我需要关闭该流并且离开屏幕。这样做的任何其他方式也将不胜感激。

谢谢!

您可以使用 window 的隐藏事件...

private void detachHook(final Node parent) {
    parent.getScene().getWindow()
        .addEventFilter(WindowEvent.WINDOW_HIDING, event -> {
          //Kill your webcam stream
    });
}

您将必须检查您是否也像我们在应用程序中那样获得了父级,但是如果存在节点和场景,window 隐藏事件应该起作用。