Java:JLabels中的换行符?

2022-09-01 13:33:10

我正在尝试制作一个带有多行文本的Swing JLabel。它添加得很好,但换行符不会通过。我该怎么做?或者,我是否可以只为 JLabel 指定最大宽度,并知道文本会像在 div 中一样换行?

    private void addLegend() {
        JPanel comparisonPanel = getComparisonPanel();

        //this all displays on one line
        JLabel legend = new JLabel("MMM FFF MMM FFFO O OOM   M MMMM.\nMMM FFF MMM FFFO O OOM   M MMMM.\nMMM FFF MMM FFFO O OOM   M MMMM.\n"); 

        comparisonPanel.add(legend);        
    }

答案 1

在 setText 中使用 HTML,例如

myLabel.setText("<html><body>with<br>linebreak</body></html>");

答案 2

如果您在 html 中设置了段落宽度,则可以获得自动换行符。

  label.setText("<html><p style=\"width:100px\">"+paragraph+"</p></html>");

推荐