我有一堆控件对象(准确地说是TextBoxes),它们在FXML加载期间使用@FXML批注注入(inject)到我的代码中。
当用户通过单击标题栏上的关闭框关闭“场景”时,我想保存这些控件的状态,尤其是文本值。
但是,当我在OnCloseRequest处理程序中捕获CloseRequest事件时,我发现控制变量的值为null(原始注入(inject)有效,因此这是在FXML加载和OnCloseRequest调用之间发生的)。
谁能解释这种行为和/或建议我如何获得所需的功能?
TIA
最佳答案
onCloseRequest
是
当有外部请求关闭此窗口时调用。 ...
(来自Javadoc)。 “外部请求”的含义之一是通过OS本机窗口关闭按钮关闭窗口时。 closeRequest
事件不会通过编程性stage.close()
或stage.hide()
调用触发。因此,考虑处理onHiding或onHidden事件。
否则,发布您的OnCloseRequest处理程序代码。