gpt4 book ai didi

java - 如何在javafx中打开新阶段时退出primaryStage

转载 作者:行者123 更新时间:2023-11-30 07:05:08 25 4
gpt4 key购买 nike

我试图弄清楚如何在打开另一个阶段时退出javafx中的primaryStage单击按钮后,删除主级的代码是什么?

最佳答案

您可以使用其中之一

primaryStage.close();

primaryStage.hide();

根据documentation ,这些是完全等价的。可能有人会说,由于 hide() 是在父类(super class)中定义的,因此它更通用,因此稍微更受欢迎。例如,如果您没有直接引用 primaryStage,但引用了其中显示的某个节点,则可以执行以下操作

someNode.getScene().getWindow().hide();

但是使用close()这种方式需要强制转换。

一个“陷阱”:默认情况下,当最后一个显示的窗口关闭时,应用程序将退出。所以如果你这样做

primaryStage.close();
Stage newStage = new Stage();
Scene newScene = new Scene(...);
newStage.setScene(newScene);
newStage.show();

可能会发生不好的事情,因为您可以在显示新阶段之前隐式退出应用程序(!)。您可以在此处更改默认行为

Platform.setImplicitExit(false);

或者,当然可以重新排序代码,以便在关闭现有阶段之前打开新阶段。

关于java - 如何在javafx中打开新阶段时退出primaryStage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40265810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com