如何阻止 JEditorPane 自动缩进后续文本?

How do I stop JEditorPane from auto-indenting subsequent text?

我的程序加载一个 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 的解决方案也足够了。

我在这里没有得到答案的事实表明人们无法重现我的错误,这有助于查明问题。

导致问题的不是程序代码,而是我不断编辑 RTF 文档的方式。我使用写字板向文档添加缩进,然后将文档加载到程序中。然而,写字板中的缩进没有正确注册,这就是导致问题的原因。

我在使用the following class直接在程序内部编辑RTF文档时注意到了这一点。之后保存程序会创建适当的缩进。然后我改为在 Microsoft Word 中打开文档并添加另一个缩进,这也解决了问题,因此通过不使用写字板编辑您希望加载到程序中的 RTF 文档来解决问题。