NoobieNoob
NoobieNoob

Reputation: 907

Two labels in the middle of center

I want to place two labels in the middle of the center of a window. I get it working with 1 label and the following code:

Screenshot: http://abload.de/img/scr1g6u0f.png

public static void main(String[] args)
{
    JFrame contentPane = new JFrame();
    contentPane.setBounds(100, 100, 450, 300);
    JPanel centerPanel = new JPanel(new BorderLayout()); 

    JLabel label = new JLabel("center1");
    centerPanel.add(label, BorderLayout.CENTER); 

    contentPane.add(centerPanel, BorderLayout.CENTER);
    contentPane.setVisible(true);
}

Now I want another label next to the first label. I tried to use a flowlabel, but they are placed at the top of the BorderLayout.CENTER

Screenshot: http://abload.de/img/scr2a3u26.png

public static void main(String[] args)
{
    JFrame contentPane = new JFrame();
    contentPane.setBounds(100, 100, 450, 300);
    JPanel centerPanel = new JPanel(new BorderLayout()); 

    JLabel label1 = new JLabel("center1");
    JLabel label2 = new JLabel("center2");

    JPanel flowPanel = new JPanel(new FlowLayout());
    flowPanel.add(label1);
    flowPanel.add(label2);

    centerPanel.add(flowPanel, BorderLayout.CENTER); 

    contentPane.add(centerPanel, BorderLayout.CENTER);
    contentPane.setVisible(true);
}

Thanks!

Upvotes: 1

Views: 83

Answers (1)

Hovercraft Full Of Eels
Hovercraft Full Of Eels

Reputation: 285405

Use a GridBagLayout without constraints:

   JPanel centerPanel = new JPanel(new GridBagLayout()); 

   JLabel label1 = new JLabel("center1");
   JLabel label2 = new JLabel("center2");

   JPanel flowPanel = new JPanel(new FlowLayout());
   flowPanel.add(label1);
   flowPanel.add(label2);

   centerPanel.add(flowPanel); 

Upvotes: 2

Related Questions