2013-06-06 45 views
1

我不能讓我的JLabel在我的JPanel中心加入ChartPanel它後:BorderLayout.CENTER不居中

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

任何想法,爲什麼BorderLayout.CENTER不起作用?

回答

9

JLabel默認情況下水平對齊到左側。

您需要設置horizontalAlignmentJLabel.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); 
+0

這工作就好非常感謝! – JohnND

1

這不是你的JLabel的中心,它把它放在左側(我認爲)。您需要更改JLabel的對齊方式。