BorderLayout.CENTER doesn't center

23,418

Solution 1

JLabel by default is horizontally aligned to the left.

You need to set the horizontalAlignment to be JLabel.CENTER

JPanel panel = new JPanel(new BorderLayout());
JLabel label = new JLabel("L'alliage a bien été enregistré.");
label.setHorizontalAlignment(JLabel.CENTER);
label.setVerticalAlignment(JLabel.CENTER);
panel.add(label, BorderLayout.CENTER);

Solution 2

This doesn't center your JLabel, it puts it toe the left side (I think). You need to change the alignment of the JLabel.

Share:
23,418
JohnND
Author by

JohnND

Updated on July 05, 2022

Comments

  • JohnND
    JohnND almost 2 years

    I can't get my JLabel to center in my JPanel after adding a ChartPanel to it:

    JPanel panel = new JPanel(new BorderLayout());            
    panel.add(visualiser(ternaire), BorderLayout.NORTH);//visualiser(ternaire) is the ChartPanel
    panel.add(new JLabel("L'alliage a bien été enregistré."), BorderLayout.CENTER);
    JOptionPane jop = new JOptionPane();            
    jop.showMessageDialog(null, panel, "Information", JOptionPane.PLAIN_MESSAGE);
    

    Any idea why BorderLayout.CENTER doesn't work ?