java - 如何使 JLabel 中的文本居中?

标签 java swing user-interface jlabel htmltext

尽管尝试了很多次,但我无法得到我希望看到的结果 - 文本在 JLabel 中居中,而 JLabel 在 BorderLayout 中有点居中。我说“有点”是因为窗口的右下角还应该有另一个标签“状态”。这里有一段代码负责:

setLayout(new BorderLayout());
JPanel area = new JPanel();
JLabel text = new JLabel(
        "<html>In early March, the city of Topeka," +
        " Kansas,<br>temporarily changed its name to Google..." +
        "<br><br>...in an attempt to capture a spot<br>" +
        "in Google's new broadband/fiber-optics project." +
        "<br><br><br>source: http://en.wikipedia.org/wiki/Google_server" +
        "#Oil_Tanker_Data_Center</html>", SwingConstants.CENTER);
text.setVerticalAlignment(SwingConstants.CENTER);
JLabel status = new JLabel("status", SwingConstants.SOUTH_EAST);
status.setVerticalAlignment(SwingConstants.CENTER);
Font font = new Font("SansSerif", Font.BOLD, 30);
text.setFont(font);
area.setBackground(Color.darkGray);
text.setForeground(Color.green);
// text.setAlignmentX(CENTER_ALIGNMENT);
// text.setAlignmentY(CENTER_ALIGNMENT);
// text.setHorizontalAlignment(JLabel.CENTER);
// text.setVerticalAlignment(JLabel.CENTER);
Font font2 = new Font("SansSerif", Font.BOLD, 20);
status.setFont(font2);
status.setForeground(Color.green);      
area.add(text, BorderLayout.CENTER);        
area.add(status, BorderLayout.EAST);
this.add(area);

感谢您提供的任何帮助。

最佳答案

以下构造函数,JLabel(String, int) , 允许您指定标签的水平对齐方式。

JLabel label = new JLabel("The Label", SwingConstants.CENTER);

关于java - 如何使 JLabel 中的文本居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810581/

相关文章:

java - JButton打印一封信

java - 在 JComboBox 中显示属性并注册另一个属性

java - 用 Java 解析 XML

java - JSON 解析错误 : Can not deserialize instance of java. util.ArrayList 超出 START_OBJECT token

java - 在 Spring Controller 中从文件 (JSONObject) 返回模拟的 JSON

java - 从数组列表中删除一串数据

java - 无法将 JTree 添加到 JInternalFrame 的 JPanel

java - 图片尺寸不正确?

c++ - 我不明白为什么这段代码无法打开文件

java - jtree 让用户通过 "blinking"查看更新(颜色快速变化)