How to put two components to a JPanel with BorderLayout?

Gilad picture Gilad · Mar 9, 2013 · Viewed 50.9k times · Source

What basically i'm trying to do is to add 2 pictures, Side-By-Side in the center of a JPanel and a JLabel to the right of the JPanel, So I was told to set the layout of the JPanel as BorderLayout and to add the pictures with BorderLayout.CENTER and the JLabel with BorderLayout.EAST.

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);

actually the result is that the pictures are ON EACH OTHER TO THE LEFT of the JPanel and the JLabel is to the right of the JPanel.

Thank you very much for your help!

Answer

Kakalokia picture Kakalokia · Mar 9, 2013

What you need to do is have another JPanel where you add one picture to the West and one to the East. Then add that JPanel to the Center of your panel. For example

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

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

panel.add(p,BorderLayout.CENTER);