如何将两个组件添加到具有边框布局(BorderLayout)的JPanel中?

8

我想做的基本上是将2张图片并排放在一个JPanel中心,并将一个JLabel放在JPanel右侧。所以我被告知将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个回答

22

你需要做的是创建另一个 JPanel,在其中将一张图片添加到西边,将另一张图片添加到东边。然后将该 JPanel 添加到您的 panel 的中心。例如:

你需要做的是在另一个JPanel上添加一张图片到西边,另一张图片到东边。 然后将该JPanel添加到您的panel中心。 例如:

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

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

panel.add(p,BorderLayout.CENTER);

4

BorderLayout只允许每个区域有一个组件。要么将它们放在不同的区域中(例如North、South、East、West、Center),要么将它们封装在一个额外的JPanel中。或者使用不同的LayoutManager


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接