如何阻止 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 文档来解决问题。
我的程序加载一个 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 文档来解决问题。