Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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语法突出显示-限制我的格式?_Java_Html_Swing_Syntax Highlighting_Jtextpane - Fatal编程技术网

Java JTextPane语法突出显示-限制我的格式?

Java JTextPane语法突出显示-限制我的格式?,java,html,swing,syntax-highlighting,jtextpane,Java,Html,Swing,Syntax Highlighting,Jtextpane,我目前正在编写IDE,并使用JTextPane作为“代码编辑器” 现在,我正在尝试向JTextPane添加语法高亮显示,但遇到了一些问题 我使用HTML替换为: private void jTextPane1KeyTyped(java.awt.event.KeyEvent evt){ 字符串SyntaxedCode=jTextPane1.getText(); jTextPane1.setText(SyntaxedCode.replaceAll(“//”,“/”); }

我目前正在编写IDE,并使用JTextPane作为“代码编辑器”

现在,我正在尝试向JTextPane添加语法高亮显示,但遇到了一些问题

我使用HTML替换为:

private void jTextPane1KeyTyped(java.awt.event.KeyEvent evt){
字符串SyntaxedCode=jTextPane1.getText();
jTextPane1.setText(SyntaxedCode.replaceAll(“//”,“/”);
}                                   
获得结果:

现在,我正在努力解决的问题是,JTextPane限制了我的间距。。。 我只能在一行中添加一到两个空格,然后JTextPane就不再接受空格。 此外,我不能使用enter键转到新行

为什么它会这样限制我,我如何才能避免它

提前感谢

1)对于从键盘到的侦听事件,则您可以使用工具

2) 如果您希望过滤、阻止或修改来自键盘的输入,并且在GUI中显示这些内容之前,您必须查找

3) 我建议实现,当然可以使用Html格式的文本,然后更好的是创建自己的文本


4) 忘了用,用,因为爱所有神圣的东西,一定有人已经为Java类制作了一个。请在某个地方把这件事公之于众。
private void jTextPane1KeyTyped(java.awt.event.KeyEvent evt) {                                    

        String SyntaxedCode = jTextPane1.getText();

        jTextPane1.setText(SyntaxedCode.replaceAll("//", "<span style='color: green'>//</span>"));

}