繁体   English   中英

是否有Swing hack来查询或设置窗口的Z顺序?

[英]Is there a Swing hack to query or set Z-order of a window?

我们试图在退出时保存应用程序的状态并在启动时恢复它。 状态的一部分是所有JFrame的相对Z顺序。

不幸的是,Swing似乎没有提供任何学习或设置窗口的Z顺序的方法(甚至相对于同一VM中的其他窗口)。

我们通过在所有窗口上按顺序调用toFront()来处理设置Z顺序。 但查询Z顺序仍未解决。 (添加焦点侦听器并不总是有效,例如,当在一组窗口上使用Windows“Cascade”操作时。)

有任何想法吗?

没有任何粒度。

正如你所说,你可以调用toFront()和toBack(),你可以要求一个窗口“保持在最顶层”,但这就是它。

另一种选择是使用内部框架的框架,并使用setComponentZOrder()(这仅适用于内部组件 - 您必须在容器上调用它)。

我认为它不是Swing的优先考虑的原因之一是对Z顺序的支持与平台有关。 (但是,嘿,什么不是......)

您可以使用Container类中的setComponentZOrder(Component c,int layer)和getComponentZOrder(Component c)。 有一个JDC技术提示:http: //72.5.124.55/developer/JDCTechTips/2005/tt0118.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM