Java显示带有格式化字符串的Jlabel.setText



所以目前我正试图用java在屏幕上显示一个文本,这个文本已经预先格式化,但当它在文本框中打印出来时,它就像从未格式化过一样。

我的当前输出为:
"我喜欢间距"

我希望得到这个:
"类似间距"

这是代码:

import javax.swing.*;
import java.awt.*;
public class GUI extends JFrame {
    JPanel panel = new JPanel();
    JLabel label = new JLabel();
    public GUI() {
        String test = String.format("%10s %10s %10s", "I","like","spacing");
        label.setText(convertToMultiline(test));
        label.setFont(new Font("Arial", Font.PLAIN, 24));
        panel.add(label);
        add(panel);
    }
    public static void main(String[] args) {
        GUI gui = new GUI();
        gui.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        gui.pack();
        gui.setVisible(true);
    }
    public static String convertToMultiline(String orig)
    {
        return "<html>" + orig.replaceAll("n", "<br>");
    }
}

您可以使用StringBuilder来实现这一点。将你的字符串附加到它上,你也可以使用html标记来帮助你构建你想要的东西。

最新更新