我尝试将两个JPanel
层叠在一起,但同时展开以适合其父对象的大小。例如,如果展开包含两个层叠的JPanel
的JFrame
,则层叠的JPanel
也会展开以填充整个JFrame
,反之亦然,如果折叠JFrame
。
我们的想法是创建一个顶层,其中包含控制底层的按钮和其他Swing组件,但是底层仍然可以透过顶层看到(通过将顶层的属性设置为setOpaque(false)
)。同时,顶层和底层都应该填充其容器(包含这些层的JPanel
或JFrame
)的可用大小。
我已经尝试过使用JLayeredPane
,但是窗格的大小必须预先知道(到目前为止我已经能够让它工作)。这些大小约束将随着包含JPanel
或JFrame
的大小的变化而变化。
预先感谢你的帮助。
1条答案
按热度按时间68de4m5k1#
你可以...
尝试使用
OverlayLayout
,但我不确定它是否符合您的要求。你可以
在
JLayeredPane
上设置使用GridBagLayout
,将每个组件放置在相同的gridx
/gridy
处,然后填充GridBagConstraints.BOTH
和1
的weightx
/weighty
你可以
使用框架的“玻璃窗格”作为顶层。这将允许您在框架的“内容窗格”顶部放置控件
有关详细信息,请参见How to use root panes。