『求助』 依次添加两个带图片的JLabel,怎么让第二个覆盖掉第一个?

时间:2022-09-18 11:23:36
在JPanel上一次添加两个带有图片的JLabel,位置不重叠,怎么让第二个JLable覆盖掉第一个?

现在的问题是先添加的JLabel在上面,后添加的在下面。 

4 个解决方案

#1


CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");

#2


顶楼上

#3


引用 1 楼 huntor 的回复:
CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");


我为了可以随意设置JLable的位置,将JPanel的Layout设为null了,不知道你的方法可以不?

#4


引用 3 楼 top_zhu 的回复:
引用 1 楼 huntor 的回复:

CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");


我为了可以随意设置J……

可以把设置成FlowLayout布局等都可以的,因为窗体默认的布局是BorderLayout布局,而放进去的组件默认
区中,所以你加上去的时候就覆盖了。其实你也可以把JLabel指定放到哪个位置也不会覆盖的。

#1


CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");

#2


顶楼上

#3


引用 1 楼 huntor 的回复:
CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");


我为了可以随意设置JLable的位置,将JPanel的Layout设为null了,不知道你的方法可以不?

#4


引用 3 楼 top_zhu 的回复:
引用 1 楼 huntor 的回复:

CardLayout layout = new CardLayout();
JPanel panel = new JPanel(layout);
panel.add(jlabel1,"first");
panel.add(jlabel2,"second");
layout.show(panel,"second");


我为了可以随意设置J……

可以把设置成FlowLayout布局等都可以的,因为窗体默认的布局是BorderLayout布局,而放进去的组件默认
区中,所以你加上去的时候就覆盖了。其实你也可以把JLabel指定放到哪个位置也不会覆盖的。