我使用 CardLayout
在容器面板内有两个透明重叠的 JPanel
。
我在两个面板内都有组件,但即使它们都是透明的,它也只显示为容器内第一个添加的面板内的组件:
panel1.setOpaque(false);
panel2.setOpaque(false);
container.setLayout(new CardLayout(0, 0));
container.add(panel1); //only components inside panel1 are shown
container.add(panel2); //if I change order, only components in panel2 are shown
由于我在 panel1
中有按钮,在 panel2
中有标签(我需要它们像这样),所以我想让两个面板的组件都可见。
最佳答案
您可以使用OverlayLayout
。
此布局旨在将两个组件叠加显示。
Swing 教程没有此布局的示例,因此您可以查看:Java Layout with Component always in Top Right举个例子来帮助演示布局如何工作。
关于java - 两个具有可见组件的重叠面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803936/