如何使用BorderLayout将两个组件放到JPanel中?

时间:2013-03-09 13:39:32

标签: java swing jpanel border-layout

我基本上想要做的是在JPanel的右侧添加2张并排放置JPanel中心的Jlabel图片,所以我被告知要将JPanel的布局设置为BorderLayout并使用BorderLayout.CENTER添加图片,使用BorderLayout.EAST添加JLabel。

JPanel panel = new JPanel();
panel.SetLayout(new BorderLayout(100,100));

panel.add(pic1,BorderLayout.CENTER);
panel.add(pic2,BorderLayout.CENTER);
panel.add(new JLabel("Example"), BorderLayout.EAST);

实际上,结果是图片在JPanel的左边相互打开 而JLabel就在JPanel的右边。

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:22)

你需要做的是有另一个JPanel,你可以向西方添加一张图片,向东方添加一张图片。然后将该JPanel添加到panel的中心。例如

JPanel p = new JPanel(new BorderLayout());

p.add(pic1,BorderLayout.WEST);
p.add(pic2,BorderLayout.EAST);

panel.add(p,BorderLayout.CENTER);

答案 1 :(得分:4)

BorderLayout每个区域只允许一个组件。 将它们放在不同的区域,例如或将它们附加在另外的JPanel中。或者使用其他LayoutManager