BorderLayout.CENTER不居中

Joh*_*nND 1 java swing jpanel layout-manager border-layout

在向ChartPanel添加ChartPanel之后,我无法将JLabel置于我的JPanel中心:

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);
Run Code Online (Sandbox Code Playgroud)

不知道为什么BorderLayout.CENTER不起作用?

Mad*_*mer 12

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);
Run Code Online (Sandbox Code Playgroud)