堆叠 JPanel 和 JLabel
Stack JPanels and JLabels
我要感谢你到目前为止的帮助,现在我遇到了另一个问题。我可以很好地制作背景面板,也可以放置带有标签的面板。我想将一个带标签的面板堆叠在另一个带标签的面板上。或者将标签一个一个地堆叠起来。所以它将是背景,然后是背景之上带有标签的 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();
我想在这个上面添加一个带有 JLabel 的较小的 JPanel。那可能吗?我尝试了几种方法,但它不起作用,我试过的一种方法是:
// 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();
那是行不通的。在此先感谢您帮助我解决这个问题。
Or Stack Labels one on top of another
我觉得你想要 OverlayLayout
。
您将面板的布局管理器设置为使用 OverlayLayout
。然后将标签添加到面板。
标签的绘制顺序与您将它们添加到面板的顺序相反。
查看: 演示如何使用 OverlayLayout 的示例。
我要感谢你到目前为止的帮助,现在我遇到了另一个问题。我可以很好地制作背景面板,也可以放置带有标签的面板。我想将一个带标签的面板堆叠在另一个带标签的面板上。或者将标签一个一个地堆叠起来。所以它将是背景,然后是背景之上带有标签的 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();
我想在这个上面添加一个带有 JLabel 的较小的 JPanel。那可能吗?我尝试了几种方法,但它不起作用,我试过的一种方法是:
// 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();
那是行不通的。在此先感谢您帮助我解决这个问题。
Or Stack Labels one on top of another
我觉得你想要 OverlayLayout
。
您将面板的布局管理器设置为使用 OverlayLayout
。然后将标签添加到面板。
标签的绘制顺序与您将它们添加到面板的顺序相反。
查看: