当舞台被隐藏在JavaFX中时,我该如何获得?

当舞台被隐藏在JavaFX中时,我该如何获得?,java,javafx,Java,Javafx,假设我在JavaFX中有一个舞台。我没有按X关闭按钮来关闭窗口,而是隐藏窗口或说切换到计算机上的其他应用程序。无论何时我隐藏窗口或切换到电脑的任何其他窗口,我都希望舞台自动关闭 我尝试了这三种方法,但所有这些都只有在我自己关闭窗口时才会激活,而不是在我隐藏窗口时激活 popupStage.setOnHidden(event -> Console.log("Hidden")); popupStage.setOnHiding(event -> Console.log("Hidden"))

假设我在JavaFX中有一个舞台。我没有按X关闭按钮来关闭窗口,而是隐藏窗口或说切换到计算机上的其他应用程序。无论何时我隐藏窗口或切换到电脑的任何其他窗口,我都希望舞台自动关闭

我尝试了这三种方法,但所有这些都只有在我自己关闭窗口时才会激活,而不是在我隐藏窗口时激活

popupStage.setOnHidden(event -> Console.log("Hidden"));
popupStage.setOnHiding(event -> Console.log("Hidden"));
popupStage.setOnCloseRequest(event -> Console.log("Hidden"));
任何帮助都将不胜感激。 谢谢。

尝试使用Window对象的属性(stage从Window继承此属性)

您可以将侦听器添加到此属性,以便在用户切换活动窗口时立即收到通知

导入javafx.application.application;
导入javafx.beans.value.observeValue;
导入javafx.stage.stage;
公共类示例扩展了应用程序{
公共静态void main(字符串参数[]){
应用程序启动(args);
}
@凌驾
公众假期开始(阶段){
stage.focusedProperty().addListener(this::focusChanged);
舞台。片名(“演示”);
stage.show();
}

private void focusChanged(observevalue)您是否可以提供一个相同的小代码段?