【发布时间】:2018-09-20 21:38:00
【问题描述】:
我要感谢您到目前为止的帮助,现在我遇到了另一个问题。我可以很好地制作背景面板并放置带有标签的面板。我想将一个带有标签的面板堆叠在另一个带有标签的面板上。或将标签堆叠在另一个之上。所以它会是背景,然后是 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();
那行不通。提前感谢您帮助我解决此问题。
【问题讨论】:
-
setSize...setLocation... 您了解组件在 Swing 中的布局方式吗?也许你应该停下来看看Laying Out Components Within a Container -
I want to thank you for the help so far- 那么不要忘记在您获得帮助时“接受”答案(请参阅:stackoverflow.com/questions/52395907/jbutton-release-action),方法是单击复选标记,以便每个人都知道问题已经解决。跨度> -
这几乎听起来最好在单个
JPanel中使用自定义绘画来完成(没有JLabel组件,只需在需要的位置和顺序绘制图像)。