java:从jEditorPane获取带换行符号的纯文本

时间:2011-08-13 11:02:11

标签: java swing jeditorpane

我有一个基于HTML的jEditorPane。 我发现你可以使用:

String text = jEditorPane1.getDocument().getText(0, jEditorPane1.getDocument().getLength());
text = text.replaceAll("(?<!^)\n", "\n<br />");
jEditorPane1.setText("<html>" + text + "</html>");
通过这种方式,我从编辑窗格中获取了文本。当我想把它放回编辑窗格时,我只需用&lt;替换换行符号。 br /&gt;。而不是把它放回去。

直到现在一切都很好。但是当我第二次从编辑窗格中获取文本时,没有换行符号。

我如何保留这个换行符号?

2 个答案:

答案 0 :(得分:2)

尝试使用"</p><p>"代替中间的"<br>"

jEditorPane1.setText("<html><p>" + text + "</p></html>");

答案 1 :(得分:1)

<p style=\"margin-top: 0\">

这对我来说很有帮助。感谢stanislavl! 我已经检查过一个新行如何在html模式的jeditpane中正常工作。它是没有边距的p标签。 奇怪的是,它起作用了。

text = text.replaceAll("\n(.*?)(?=(\n|$))", "<p style=\"margin-top: 0\">$1</p>");
这是真正的工作。在\ n之后用&lt; n围绕所有文本p为H.&LT; / p为H.标签

感谢您的帮助