我有一堆控件对象(准确地说是TextBoxes),它们在FXML加载期间使用@FXML批注注入(inject)到我的代码中。

当用户通过单击标题栏上的关闭框关闭“场景”时,我想保存这些控件的状态,尤其是文本值。

但是,当我在OnCloseRequest处理程序中捕获CloseRequest事件时,我发现控制变量的值为null(原始注入(inject)有效,因此这是在FXML加载和OnCloseRequest调用之间发生的)。

谁能解释这种行为和/或建议我如何获得所需的功能?

TIA

最佳答案

onCloseRequest

当有外部请求关闭此窗口时调用。 ...

(来自Javadoc)。 “外部请求”的含义之一是通过OS本机窗口关闭按钮关闭窗口时。 closeRequest事件不会通过编程性stage.close()stage.hide()调用触发。因此,考虑处理onHidingonHidden事件。

否则,发布您的OnCloseRequest处理程序代码。

10-07 14:38