【发布时间】:2019-10-06 10:33:51
【问题描述】:
如何防止父窗口在子窗口打开/运行时关闭。如果可能,父窗口不会被禁用。
【问题讨论】:
如何防止父窗口在子窗口打开/运行时关闭。如果可能,父窗口不会被禁用。
【问题讨论】:
执行此操作的“正常” UI 主题是使子窗口模态。含义:UI 只允许处理子窗口,因此阻止了任何其他会影响父窗口的点击或操作。
但是:
如果可能,父窗口不会被禁用。
如果你真的想要那样,那么孩子就不能是模态的。然后你必须手动完成所有这些事情。换句话说:您必须在您的父窗口上实现 WindowListeners、ActionListeners...,以拦截任何关闭该窗口的尝试。并根据“子窗口已启动”阻止或允许它。第一眼见here。但是,根据您的父窗口到底能做什么,您也在寻找很多其他的工作!
请注意:如上所述,这意味着大量工作并且这不是大多数人所期望的。
【讨论】:
window.setOnCloseRequest(event -> { if (otherWindow.isShowing()) { event.consume(); } });。
WindowEvent.WINDOW_CLOSE_REQUEST,而不是调用Window#hide();)但我明白你的意思。