首页 > 解决方案 > JLabel 打断长词

问题描述

我有一个JLabel这样的JFrame

public class LabelTest {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JLabel label = new JLabel("Lorem ipsum dolor sit amet, consectetur adipisici elit");

        Dimension size = new Dimension(200, 200);

        label.setMaximumSize(size);
        frame.setSize(size);
        frame.add(label);
        frame.setVisible(true);
    }
}

显示标签,但没有换行,因此文本被截断:

在此处输入图像描述


为了解决这个问题,我将文本包装在一个 <html> 标记中。这似乎对简单的字符串起作用:

JLabel label = new JLabel("<html>Lorem ipsum dolor sit amet, consectetur adipisici elit</html>");

在此处输入图像描述


到目前为止,一切都很好。但是当单个单词超过行长时,会出现问题,再次导致文本溢出:

JLabel label = new JLabel("<html>Loremipsumdolorsitametconsecteturadipisicielit</html>");

在此处输入图像描述


我如何告诉 JLabel 打破文本,即使它必须拆分一个单词以强制换行?我已经尝试过围绕文本<body style="word-wrap: break-word; overflow-wrap: break-word;">但没有成功。

标签: javaswingjlabel

解决方案


推荐阅读