文本对齐标签错误?

时间:2012-08-29 05:00:22

标签: java swing alignment jlabel layout-manager

现在我正在尝试在框架旁添加标签。我有一个标签的文本,并希望将其与中心对齐,但它失败并始终保持左对齐。请帮帮我!

Simulation sm = new Simulation(dm);
JFrame simulation = new JFrame();
simulation.setTitle("Traffic light and Car park Siumulation");

simulation.setSize(800,600);
simulation.setResizable(false);
simulation.setVisible(true);
simulation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
simulation.add(sm, BorderLayout.CENTER);

//Carpark label
JLabel carparklb = new JLabel("abcd");
carparklb.setPreferredSize(new Dimension(200,600));

carparklb.setVerticalTextPosition(JLabel.CENTER);
carparklb.setHorizontalTextPosition(SwingConstants.CENTER);

simulation.add(carparklb, BorderLayout.EAST);

3 个答案:

答案 0 :(得分:2)

来自Java Docs

  

setVerticalTextPosition(int textPosition)

     

设置标签文字的垂直位置,相对于其图片

尝试使用JLabel.setVerticalAlignmentJLabel.setHorizontalAlignment

答案 1 :(得分:1)

尝试:

carparklb.setAlignmentY(JLabel.CENTER_ALIGNMENT); carparklb.setAlignmentX(JLabel.CENTER_ALIGNMENT);

这将使文本水平和垂直对齐标签的中心。如果您只想水平居中,可以尝试:

JLabel carparklb = new JLabel("abcd", JLabel.CENTER_ALIGNMENT);

carparklb.setAlignmentX(JLabel.CENTER_ALIGNMENT);

答案 2 :(得分:1)

使用html代码:

    "<html><font size=\"5\"><P ALIGN =\"CENTER\">ARGHYA</P></font></html>"

并将其用作标签中的字符串。