9

基本上我想要做的是添加 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 的右侧。

非常感谢您的帮助!

4

2 回答 2

23

您需要做的是拥有另一个 JPanel,您可以在其中将一张图片添加到西方,并将一张图片添加到东方。然后将该 JPanel 添加到panel. 例如

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

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

panel.add(p,BorderLayout.CENTER);
于 2013-03-09T13:46:01.573 回答
4

BorderLayout 每个区域只允许一个组件。要么将它们放在不同的区域,例如,要么将它们包含在一个额外的 JPanel 中。或者使用不同的LayoutManager

于 2013-03-09T13:47:20.810 回答