Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTextPane DefaultStyledDocument与setEditorKit冲突_Java_Swing_Jtextpane_Defaultstyleddocument - Fatal编程技术网

Java JTextPane DefaultStyledDocument与setEditorKit冲突

Java JTextPane DefaultStyledDocument与setEditorKit冲突,java,swing,jtextpane,defaultstyleddocument,Java,Swing,Jtextpane,Defaultstyleddocument,我在一个项目中使用JTextPane,在这个项目中我应该显示行号并给一些关键字上色。对于显示行号,我使用“setEditorKit”,对于文本着色,我覆盖DefaultStyledDocument的insertString()和removesting()方法,然后使用“JTextPane.setDocument(DefaultStyledDocument_对象)” 我面临的问题是,如果我将EditorKit添加到JTextPane中,着色部分将无法工作。如果我在设置EditorKit之后添加De

我在一个项目中使用JTextPane,在这个项目中我应该显示行号并给一些关键字上色。对于显示行号,我使用“setEditorKit”,对于文本着色,我覆盖DefaultStyledDocument的insertString()和removesting()方法,然后使用“JTextPane.setDocument(DefaultStyledDocument_对象)”

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

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


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


这就是它目前的样子


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

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


有关此方法的示例,请参见。

谢谢您的帮助。我照你的建议做了,效果很好!不管怎样,你能告诉我为什么我不应该在文档中使用行号吗?谢谢@mundomug,因为它们不是文本的一部分。当您使用getText()方法时,我确信您不想看到数字。