0

我在一个项目中使用 JTextPane,我应该在其中显示行号并为一些关键字着色。为了显示行号,我使用了“setEditorKit”并为文本着色,我覆盖了 DefaultStyledDocument 的 insertString() 和 removeString() 方法,然后使用了“JTextPane.setDocument(DefaultStyledDocument_object)”。

我面临的问题是,如果我将 EditorKit 添加到我的 JTextPane 中,着色部分将不起作用。如果我在设置 EditorKit 后添加 DefaultStyledDocument,insertString 方法会将插入符号移至“零插入符号位置”,从而弄乱 UI。

这是我试图实现的功能的图像。

我想要的是
这就是我希望我的 JTextPane 看起来的样子。

混乱
这是它目前的样子

如何在我的应用程序中同时使用“setEditorKit”和“DefaultStyledDocument”?

4

1 回答 1

0

不要将行号用作文档的一部分。相反,您应该创建一个显示行号的组件并将该组件用作滚动窗格的行标题。

有关此方法的示例,请参阅文本组件行号。

于 2014-01-28T17:30:54.157 回答