【问题标题】:Window z-ordering in javajava中的窗口z排序
【发布时间】:2010-11-02 21:26:36
【问题描述】:

有没有办法在java中管理JDialog窗口的窗口z-ordering?

我希望能够将每个窗口分配给一个层,这样较低层上的窗口永远不会超过并遮挡较高层上的窗口。即使他们有焦点。类似于 JDialog 窗口的组件存在的 Z 顺序功能。

该解决方案不需要适用于所有操作系统。可以接受特定于 linux 的解决方案。

【问题讨论】:

  • 你说得对,这是骗子。我在定位之前搜索了 z-order 和 zorder 标签,但仍然错过了那个。我现在应该删除它还是版主关闭/复制它?
  • 这并不完全是重复的——实际用例是完全不同的。

标签: java swing z-order


【解决方案1】:

我能够为窗口的 Z 顺序找到的唯一管理方法是,您可以使用 toFront() 将它们发送到顺序的顶部,或者您可以使用 setAlwaysOnTop() 将它们设置为始终在顶部。这是非常基本的 z 排序,似乎 Window 类没有像容器内的组件那样为您提供细粒度的排序。

【讨论】:

    【解决方案2】:

    由于 Java 现在支持 transparent and shaped windows,您可以使用不可见的窗口来伪造它,并使“真实”窗口只是组件,或者可能是 JInternalFrames。

    【讨论】:

    • 谢谢。不幸的是,我不得不在一些窗口中使用重量级的组件(jogl 画布),所以我不能使用 JInternalFrames。
    猜你喜欢
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多