我在一个项目中使用JTextPane,我应该显示行号并为某些关键字着色。为了显示行号,我使用'setEditorKit'并为文本着色,我重写了DefaultStyledDocument的insertString()和removeString()方法,然后使用'JTextPane.setDocument(DefaultStyledDocument_object)'。
我面临的问题是,如果我将EditorKit添加到我的JTextPane,则着色部分不起作用。如果我在设置EditorKit之后添加DefaultStyledDocument,insertString方法会将插入符号移动到“零插入位置”,从而弄乱UI。
这是我想要实现的功能的图像。
这就是我希望JTextPane看起来像的样子。
这就是目前的样子
如何在我的应用程序中同时使用'setEditorKit'和'DefaultStyledDocument'?
答案 0 :(得分:0)
不要将行号用作文档的一部分。相反,您应该创建一个显示行号的组件,并将该组件用作滚动窗格的行标题。
有关此方法的示例,请参阅Text Component Line Number。