标签: javafx-2
我有一堆控件对象(准确地说是TextBoxes),它们在FXML加载期间使用@FXML注释注入我的代码。
当用户通过单击标题栏上的关闭框关闭场景时,我想保存这些控件的状态,特别是文本值。
然而,当我在OnCloseRequest处理程序中捕获CloseRequest事件时,我发现控制变量的值为null(原始注入工作,所以这是在加载FXML和调用OnCloseRequest之间发生的事情)。
任何人都可以解释这种行为和/或建议我如何获得我想要的功能吗?
TIA
答案 0 :(得分:2)
onCloseRequest是
onCloseRequest
当有外部请求关闭此窗口时调用。 ...
(来自Javadoc)。 “外部请求”的含义之一是当您通过OS本机窗口关闭按钮关闭窗口时。 closeRequest事件不会通过程序化stage.close()或stage.hide()来触发。因此,请考虑处理onHiding或onHidden事件。
closeRequest
stage.close()
stage.hide()
否则发布您的OnCloseRequest处理程序代码。