Моя программа загружает файл RTF и отображает его в JEditorPane со следующим кодом:
public void ReadFile() {
RTFEditorKit rtfKit = new RTFEditorKit();
StyledDocument doc = (StyledDocument) rtfKit.createDefaultDocument();
rcp.getJEditorPane().setEditorKit(rtfKit);
try {
FileInputStream fi = new FileInputStream("Document.rtf");
rtfKit.read(fi, doc, 0);
rcp.getJEditorPane().setDocument(doc);
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("I/O error");
} catch (BadLocationException e) {
}
}
Все идет хорошо, пока я не вставляю отступы, маркированные списки или нумерованные списки в исходный документ. Если документ содержит один из этих элементов, весь последующий текст имеет отступ при отображении также в JEditorPane. В оригинальном RTF-файле написано следующее:
Я хочу, чтобы JEditorPane отображал текст, как показано выше. Вместо этого он отображается в JEditorPane следующим образом:
Подойдет также любое решение, использующее TextArea или TextPane вместо EditorPane.