Java JLabel 文字换行

在Java的Swing界面开发中,JLabel是一种常用的组件,用于显示文本和图像。默认情况下,JLabel会将文字在一行中显示,如果文本内容过长超出了组件的宽度,就会显示为省略号。然而,在某些情况下,我们可能希望文本自动换行以适应组件的宽度,本文将介绍如何实现这个功能。

使用 HTML 标签

Java的JLabel组件支持使用HTML标签来设置显示的文本内容,通过使用<html><br>标签,我们可以实现文本的自动换行。

import javax.swing.*;

public class JLabelWrapTextExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JLabel Wrap Text Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JLabel label = new JLabel("<html>This is a long text that will be wrapped<br>to fit the width of the JLabel.</html>");
        label.setHorizontalAlignment(SwingConstants.CENTER);
        label.setVerticalAlignment(SwingConstants.CENTER);
        label.setBounds(50, 50, 200, 100);

        frame.add(label);
        frame.setSize(300, 200);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

在上面的示例中,我们创建了一个JFrame窗口,并在窗口中添加了一个JLabel组件。通过使用<html>标签将文本内容包裹起来,然后在需要换行的位置使用<br>标签,就可以实现文本的自动换行。

使用 HTML CSS 样式

除了使用<br>标签进行换行外,我们还可以使用HTML的CSS样式来设置换行的方式。

import javax.swing.*;

public class JLabelWrapTextExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JLabel Wrap Text Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JLabel label = new JLabel("<html><div style=\"width: 100px; text-align: center;\">This is a long text that will be wrapped to fit the width of the JLabel.</div></html>");
        label.setBounds(50, 50, 200, 100);

        frame.add(label);
        frame.setSize(300, 200);
        frame.setLayout(null);
        frame.setVisible(true);
    }
}

在上面的示例中,我们使用了<div>标签来包裹文本内容,并使用CSS样式设置了宽度为100像素,居中对齐。这样就可以实现文本的自动换行。

总结

通过使用HTML标签和CSS样式,我们可以方便地实现Java中JLabel组件的文字换行功能。这样就可以灵活地显示长文本内容,提高用户界面的易读性。希望本文能够帮助您更好地使用和理解Java的Swing界面开发。

参考

  • [Java JLabel Documentation](
  • [HTML Tutorial](
  • [CSS Tutorial](

甘特图

gantt
    dateFormat  yyyy-MM-dd
    title       Java JLabel 文字换行

    section 代码编写
    学习Swing界面开发  :done, 2021-10-01, 1d
    编写示例代码  :done, 2021-10-02, 2d

    section 文章撰写
    撰写引言和介绍  :done, 2021-10-03, 1d
    撰写使用HTML标签部分  :done, 2021-10-04, 2d
    撰写使用HTML CSS样式部分  :done, 2021-10-06, 2d
    撰写总结和参考  :done, 2021-10-08, 1d

    section 审稿和修改
    审稿并修改错误  :2021-10-10, 2d

表格

学生姓名 学号 班级
张三 202100001 1班
李四 202100002 2班
王五 202100003 3班