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