2013-06-06 41 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的对齐方式。