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

时间:2012-03-17 17:01:33

标签: java html swing syntax-highlighting jtextpane

我正在编程IDE,并使用JTextPane作为“代码编辑器”。

现在,我正在尝试向JTextPane添加语法突出显示,但是遇到了一些麻烦......

我正在使用HTML将http://img21.imageshack.us/img21/6185/910b3b10cad4487f9c96d43.png替换为Green Comment

private void jTextPane1KeyTyped(java.awt.event.KeyEvent evt) {                                    

        String SyntaxedCode = jTextPane1.getText();

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

}                                   

获得结果:

enter image description here

现在,我正在努力的部分是,JTextPane限制了我的间距...... 我只能连续添加一个或两个空格,然后JTextPane停止接受空格。 另外,我无法使用回车键转到新行。

为什么这样会限制我,我该如何避免呢?

提前致谢;

1 个答案:

答案 0 :(得分:4)

1)从键盘到JTextComponents收听事件,然后你有实现DocumentListener

2)如果您想要从键盘过滤,阻止或修改输入,并且在此内容将显示在GUI中之前,那么您已查找DocumentFilter

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

4)使用Swing JComponents忘记了KeyListener中的收听,使用KeyBindings