java 具有分层的可扩展面板

t98cgbkg  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(155)

我尝试将两个JPanel层叠在一起,但同时展开以适合其父对象的大小。例如,如果展开包含两个层叠的JPanelJFrame,则层叠的JPanel也会展开以填充整个JFrame,反之亦然,如果折叠JFrame
我们的想法是创建一个顶层,其中包含控制底层的按钮和其他Swing组件,但是底层仍然可以透过顶层看到(通过将顶层的属性设置为setOpaque(false))。同时,顶层和底层都应该填充其容器(包含这些层的JPanelJFrame)的可用大小。
我已经尝试过使用JLayeredPane,但是窗格的大小必须预先知道(到目前为止我已经能够让它工作)。这些大小约束将随着包含JPanelJFrame的大小的变化而变化。
预先感谢你的帮助。

68de4m5k

68de4m5k1#

你可以...

尝试使用OverlayLayout,但我不确定它是否符合您的要求。
你可以
JLayeredPane上设置使用GridBagLayout,将每个组件放置在相同的gridx/gridy处,然后填充GridBagConstraints.BOTH1weightx/weighty
你可以
使用框架的“玻璃窗格”作为顶层。这将允许您在框架的“内容窗格”顶部放置控件
有关详细信息,请参见How to use root panes

相关问题