向jpanel添加图表面板后,无法使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);
知道borderlayout.center为什么不起作用吗?
2条答案
按热度按时间oxalkeyp1#
JLabel
默认情况下是水平向左对齐。你需要设置
horizontalAlignment
成为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);
xyhw6mcr2#
这不是你的jlabel居中,它把脚趾放在左边(我想)。您需要更改jlabel的对齐方式。