Я решил эту проблему, проблема заключалась в простом тексте, который я передавал в setText. Если я уберу вызов setText
, результатом JTextPane.getText()
будет красиво отформатированный HTML с правильно закодированными переносами строк.
Я полагаю, что когда я звоню JTextPane.setText("Try entering some newline characters")
, он устанавливает HTMLDocument.documentProperties.__EndOfLine__
в "\ n". Эта константа свойства документа определена здесь .
Решение состоит в том, чтобы убедиться, что вы переносите текст в теги <p>
при передаче его методу JTextPane.setText () (обратите внимание, атрибут style используется для любых последующих абзацев):
textPane1.setText("<p style=\"margin-top: 0\">Try entering some newline characters</p>");
Или, после того, как вы передадите простой текст, замените EndOfLineStringProperty (это скорее хак, я бы не рекомендовал его):
textPane1.getDocument().putProperty(DefaultEditorKit.EndOfLineStringProperty, "<br/>\n")