我们正在尝试在退出时保存应用程序的状态,并在启动时将其还原。状态的一部分是所有JFrame的相对Z顺序。
不幸的是,Swing似乎没有提供任何方法来学习或设置窗口的Z顺序(甚至相对于同一VM中的其他窗口)。
我们通过在所有窗口上依次调用toFront()来设置Z顺序。但是查询Z顺序仍然没有解决。 (例如,当在一组窗口上使用Windows的“级联”操作时,添加焦点侦听器并不总是有效。)
有任何想法吗?
最佳答案
没有任何粒度。
就像您说的那样,您可以调用toFront()和toBack(),并且可以要求一个窗口“停留在顶部”,但是仅此而已。
另一个选择是使框架带有内部框架,并使用setComponentZOrder()(尽管这仅适用于内部组件-您必须在容器上调用它)。
我相信它在Swing中没有得到优先考虑的原因之一是,对Z顺序的支持完全依赖于平台。 (但是,这不是...)