现在我正在尝试在框架旁添加标签。我有一个标签的文本,并希望将其与中心对齐,但它失败并始终保持左对齐。请帮帮我!
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);
答案 0 :(得分:2)
来自Java Docs
setVerticalTextPosition(int textPosition)
设置标签文字的垂直位置,相对于其图片。
尝试使用JLabel.setVerticalAlignment和JLabel.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>"
并将其用作标签中的字符串。