【发布时间】:2015-02-25 02:33:02
【问题描述】:
根据 JavaFX 文档,子阶段定义为
A stage will always be on top of its parent window.
问题是我想根据彼此像普通窗口一样渲染它们(如果您单击一个,它将在另一个上方渲染)。我可以在没有 hacky 解决方法的情况下做到这一点吗?
【问题讨论】:
根据 JavaFX 文档,子阶段定义为
A stage will always be on top of its parent window.
问题是我想根据彼此像普通窗口一样渲染它们(如果您单击一个,它将在另一个上方渲染)。我可以在没有 hacky 解决方法的情况下做到这一点吗?
【问题讨论】:
使一个阶段成为另一个阶段的子阶段的唯一其他功能是,当父阶段关闭时,子阶段会自动关闭。你可以用一个监听器来模拟这个:
Stage firstStage = ... ;
Stage secondStage = new Stage();
// secondStage.initOwner(firstStage);
firstStage.addEventHandler(WindowEvent.WINDOW_HIDDEN, evt -> secondStage.hide());
// ...
如果您依赖于在任何地方使用 getOwner(),则必须找到解决方法。
(我不确定这是否属于“hacky workaround”,但它应该可以工作......)。
【讨论】: