![]() |
1
8
我已经解决了这个问题,问题是我在setText中传递的纯文本。如果我打电话给
我相信当我打电话的时候
或者,在传入纯文本后,替换EndOfLineStringProperty(这更像是一种黑客行为,我不推荐):
|
![]() |
2
0
它看起来像是HTMLWriter类吃掉了新行,而没有读取它或将它转换为HTML(参见HTMLWriter中的第483行)。我看不到一个简单的解决方法,因为它似乎是硬编码的,用于检查“\n”。您可以将JTextPane文档的DefaultEditorKit.EndOfLineStringProperty属性(通过getDocument().putProperty)设置为<br>然后重写setText以将“\n”替换为<br>。虽然这将按照您的建议进行,并在html、head和body标记之间添加分隔符,因此您可能只希望在body标记中进行替换。似乎没有一个非常直接的方法可以做到这一点。 |
![]() |
3
0
我为这个挣扎了半天。这在Java7中仍然被打破。问题在于将用户输入的新行保留在JEditorPane中(对于HTML内容类型)。只有当我在用户输入的“\n”(仍需要“\n”在编辑器中显示新行)处添加标记键“\r”时,我才能在HTML中保留新行,然后当我将整个内容取出并放入不同的窗格或任何所需的HTML中时,将其替换为“\n<br/>”。我只在Windows上测试过这个。
|