Java的新手和站点的全新用户。我有一个JLabel添加到BorderLayout的中央面板。我希望JLabel在面板中居中。 setAlignmentX似乎可以工作,但是setAlignmentY不能工作(标签显示在面板顶部)。这是代码:
centerPanel = new JPanel();
centerPanel.setLayout(new BoxLayout(centerPanel,BoxLayout.Y_AXIS));
JLabel label = new JLabel("This should be centered");
label.setAlignmentX(Component.CENTER_ALIGNMENT);
label.setAlignmentY(Component.CENTER_ALIGNMENT);
centerPanel.add(label);
contentPane.add(centerPanel, BorderLayout.CENTER);
我也尝试了label.setVerticalAlignment(CENTER);,但无济于事。我已经在API和Java教程中,该站点上以及通过Google搜索寻找了答案。谢谢!
最佳答案
您接近了,请尝试以下操作:
public static void main(String[] args)
{
JFrame contentPane = new JFrame();
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new BorderLayout());
JLabel label = new JLabel("This should be centered");
label.setHorizontalAlignment(SwingConstants.CENTER);
centerPanel.add(label, BorderLayout.CENTER);
contentPane.add(centerPanel, BorderLayout.CENTER);
contentPane.pack();
contentPane.setVisible(true);
}
Java GUI编程的众多乐趣之一。如果我说实话,我宁愿睁大眼睛。