我基本上想要做的是在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的右边。
非常感谢你的帮助!
答案 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。