【发布时间】:2015-08-03 08:15:39
【问题描述】:
假设我有以下代码用于我正在创建的第二个窗口:
stage.initModality(Modality.NONE);
stage.initOwner(coreController.getStage());
如果我这样做,它会在我的主窗口关闭时关闭。
如果我注释掉stage.initOwner(coreController.getStage());,那么它可以隐藏在主面板后面,但不会关闭。
当我杀死主阶段时,有什么方法可以关闭它... 而不编写代码来跟踪创建的每个新窗口?到目前为止,似乎我唯一的选择是在列表中注册每个新窗口,当主窗口触发“关闭事件”时,我也会为所有其他窗口触发这个。有没有办法让我不必像那样进去把所有东西都连接在一起?
编辑:我使用了 Modality.NONE 以便窗口不会阻止任何事件,但是我不知道这是否与问题相关。
编辑 2: 我希望在退出主窗口时关闭所有窗口(如果我能拦截关闭事件并进行清理,那将是一个奖励)。
【问题讨论】:
-
您想在主窗口关闭时退出整个应用程序吗?这不是您所要求的 - 但如果可行,则设置起来很容易。否则,除了按照您的描述跟踪窗口之外,我看不到其他方法。
-
@James_D 是的,这是正确的,让我将其添加到主帖中。对不起,我不够清楚。编辑 2 应该描述这一点(如果可能的话,加上一个可能的奖金)。