1

现在我正在尝试在框架旁边添加标签。我有一个标签文本,想把它对齐到中心,但它失败了,总是左对齐。请帮我!

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

3 回答 3

2

来自 Java 文档

setVerticalTextPosition(int textPosition)

设置标签文本相对于其图像的垂直位置。

改用JLabel.setVerticalAlignmentJLabel.setHorizo ​​ntalAlignment

于 2012-08-29T05:04:51.193 回答
1

尝试:

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

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

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

或者

carparklb.setAlignmentX(JLabel.CENTER_ALIGNMENT);

于 2012-08-29T05:09:08.000 回答
1

使用 html 代码作为:

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

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

于 2012-08-29T07:15:28.413 回答