java - 将多行文本添加到 JTextArea

标签 java string jtextarea

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

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

当我尝试使用 setText() 方法将其添加到 JTextArea 时,它全部变成一行,包括“/n”。像这样:

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);

最佳答案

您使用的是 /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();
    }
}

关于java - 将多行文本添加到 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43768342/

相关文章:

java - 如何禁用 JTree 的叶子

string - 如何将 xslt 模板应用于字符串?

java - java中使用的技术使字符串不可变?

python - 尝试乘以元组元素时出现字符串格式错误 - python

Java - 使用 JScrollPane

java - 如何在java中的文本区域显示输出

java - 异步网络服务 SOAP

java - frame.repaint() 无法正常工作

java - 无法加载类 persistentBag

java - 如何将 GUI 组件放入 OpenGL 屏幕中