Java 如何在JLabel中将文本居中?

Java 如何在JLabel中将文本居中?,java,swing,user-interface,jlabel,htmltext,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,"

尽管进行了多次尝试,我还是无法得到我希望看到的结果-文本在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);
setLayout(新的BorderLayout());
JPanel区域=新的JPanel();
JLabel text=新的JLabel(
三月初,托皮卡市+
“堪萨斯州,
暂时改名为谷歌…”+ “

…试图捕获一个点
”+ “在谷歌新的宽带/光纤项目中。”+ “


来源:http://en.wikipedia.org/wiki/Google_server" + “油轮数据中心”,SwingConstants.Center); text.setVerticalAlignment(SwingConstants.CENTER); JLabel状态=新JLabel(“状态”,SwingConstants.东南); 状态设置垂直对齐(SwingConstants.CENTER); Font Font=新字体(“SansSerif”,Font.BOLD,30); text.setFont(字体); 退根地面积(颜色:暗灰色); 设置前景(颜色为绿色); //text.setAlignmentX(中心对齐); //text.setAlignmentY(中心对齐); //text.setHorizontalAlignment(JLabel.CENTER); //text.setVerticalAlignment(JLabel.CENTER); Font font2=新字体(“SansSerif”,Font.BOLD,20); status.setFont(font2); 状态。设置前景(颜色。绿色); 添加(文本、边框布局、中心); 区域。添加(状态,边界布局。东); 本.增加(面积);
感谢您提供的帮助。

String text=“三月初,堪萨斯州托皮卡市,“+”
”+
String text = "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";
JLabel label = new JLabel("<html><div style='text-align: center;'>" + text + "</div></html>");
“暂时将其名称更改为Google…”+“
”+“
”+ “…试图捕获一个点”+“
”+ “在谷歌新的宽带/光纤项目中。”+”
“+”
“+”
“+”
”+ “资料来源:http://en.wikipedia.org/wiki/Google_server#Oil_Tanker_Data_Center"; JLabel标签=新的JLabel(“+text+”);
以下构造函数允许您指定标签的水平对齐方式

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

如果由于某种原因无法重建标签,请按照以下方式编辑先前存在的JLabel的这些属性。

谢谢。成功了。顺便问一下:我可以使用html在一个JLabel内更改字体大小吗?我希望源地址更小。请尝试
“源:http://en.wikipedia.org/wiki/Google_server#Oil_Tanker_Data_Center“
实际上,编辑的版本不起作用。我稍后使用的方法会给出以下错误消息:“…对于类型字符串未定义”使用单引号可以保存一些反斜杠:
此答案对我不起作用,但确实起作用。添加了文档参考并稍微清理了代码。可能与
myLabel.setHorizontalAlignment(SwingConstants.CENTER);
myLabel.setVerticalAlignment(SwingConstants.CENTER);