到目前为止,我要感谢您的帮助,现在我遇到了另一个问题。我可以使背景面板很好,也可以放置带有标签的面板。我想将一个带有标签的面板堆叠在另一个带有标签的面板上。或堆叠标签一个在另一个之上。因此,将是Background(背景),然后是JPanel(带标签)位于背景的顶部,另一个JPanel(带标签)位于第一具有标签的JPanel(顶部)。
我现在可以工作的代码的开始如下:
// SWITCH 1
switch1 = new JPanel();
switch1.setLocation(24,348);
switch1.setSize(55,83);
switch1.setOpaque(false);
background.add(switch1);
sw1 = new JLabel();
sw1.setIcon(SW1);
sw1.setLocation(0,0);
switch1.add(sw1);
pack();
我想添加一个较小的JPanel和JLabel。那可能吗?我尝试了几种方法,但我尝试过的一种方法无效:
// SWITCH 2
switch2 = new JPanel();
switch2.setLocation(24,348);
switch2.setSize(45,73);
switch2.setOpaque(false);
switch1.add(switch2);
sw2 = new JLabel();
sw2.setIcon(SW2);
sw2.setLocation(0,0);
switch2.add(sw2);
pack();
那是行不通的。预先感谢您帮助我解决此问题。
答案 0 :(得分:1)
或者将一个标签堆叠在另一个标签上
听起来像您想要OverlayLayout
。
您将面板的布局管理器设置为使用OverlayLayout
。然后,将标签添加到面板。
按照与将标签添加到面板中相反的顺序绘制标签。
签出:Preventing Overlay Layout from shifting background image label演示如何使用OverlayLayout的示例。