Java使用格式化的String显示Jlabel.setText

时间:2013-11-24 02:29:08

标签: java swing jframe string-formatting jlabel

所以目前我正试图在屏幕上显示一个已经预先格式化的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>");
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用StringBuilder。将你的字符串附加到它上面,你也可以使用html标签来帮助你构建你想要的东西。