向JTextArea添加多行文本

时间:2017-05-03 19:21:59

标签: java string jtextarea

我有一个存储有大量文本的字符串,看起来像这样

String aLotOfText = "aaaaaaaaaaaaaaaaaaaaaaaa " + variable1 + ". /n/n"
"bbbbbbbbbbbbbbbbbbbbbbb " + variable2 + ". /n/n" //and so on...

当我尝试使用setText()方法将其添加到JTextArea时,它们都变成了一行,包括" / n" s。像这样:

aaaaaaaaaaaaaaaaaaaaaaaa 1. /n/nbbbbbbbbbbbbbbbbbbbbbbb 2. /n/n

我如何在每一行中获得它?

编辑: 这是我的JTextArea和JPanel。 我已将/ n更改为\ n ,但现在只显示一行

JPanel panel = new JPanel();
    getContentPane().add(panel);
    panel.setLayout(new BorderLayout());
    konsol = new JTextArea();
    konsol.setEditable(false);
    JScrollPane konsolSP = new JScrollPane(konsol);
    konsolSP.setBorder(BorderFactory.createTitledBorder("Server Output"));
    panel.add(konsolSP, BorderLayout.CENTER);
    konsol.setRows(100);

1 个答案:

答案 0 :(得分:1)

您正在使用/n而不是\n这是适当的换行转义序列。

编辑:为了向您展示我的工作方式,我发布了最小的可编辑代码段:

public class JTATest extends JFrame {
    public JTATest() {
        JTextArea jta = new JTextArea();
        jta.setText("lol\n\nlol");
        //jta.setRows(50); // You do not actually need this
        this.add(jta);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.pack();
        this.setVisible(true);
    }
    public static void main(String[] args) {
        new JTATest();
    }
}