borderlayout.center不居中

2nbm6dog  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(303)

向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为什么不起作用吗?

oxalkeyp

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

xyhw6mcr

xyhw6mcr2#

这不是你的jlabel居中,它把脚趾放在左边(我想)。您需要更改jlabel的对齐方式。

相关问题