我目前正在使用JEditorPane来显示正在从Socket读取的文本。我创建了JEditorPane,获取其文档并使用
添加文本document.insertString(document.getEndPosition().getOffset(), string, null);
这可以按预期工作,除了遇到'\ n'(用于换行的字符)时,它似乎忽略它(即不打印任何东西),并且所有内容都出现在一行上。我一直在寻找解决方案,但我似乎无法找到任何有效的方法(尝试用<br>
替换'\ n',没有帮助,只是打印出<br>
。< / p>
答案 0 :(得分:1)
它按预期工作。
这是代码。
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
doc.insertString(doc.getEndPosition().getOffset(), "test\n", null);
完整的代码。
jScrollPane1 = new javax.swing.JScrollPane();
jEditorPane1 = new javax.swing.JEditorPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jScrollPane1.setViewportView(jEditorPane1);
getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
pack();
您也可以使用,
doc.insertString(doc.getLength(), "test\n", null);