Swing中的代码完成和语法突出显示

som*_*mer 4 javascript java swing syntax-highlighting code-completion

我已经启动了一个需要语法高亮和代码完成的项目(在插入符号位置弹出一个提供建议的窗口),但找不到合适的解决方案.有多个Swing组件接受文本输入,例如JTextArea,JTextPane和JEditorPane,这使得确定哪个是正确的使用起来要困难得多.

该项目是一个程序员特定的文本编辑器,它将与统一游戏引擎集成.这意味着代码完成和突出显示将在JavaScript和C#语法上完成.

这可能是显而易见的,但一般的想法是,当用户键入时,某些单词会更改为指定的颜色,这些单词将存储在文本文件中.对于代码完成,我需要能够获取当前键入的字母,此检测过程将使用空格字符作为分隔符重新启动.

谢谢你的时间 :)

Dav*_*amp 6

见我的答案在这里,显示自动完成JTextComponent,它可以显示弹出窗口自动完成的话对当前插入符号指数JTextPane/ JEditorPane(+1 @AndrewThompson的想法):

用于JTextField:

使用JTextField作为AutoSugesstor

和用于其它JTextComponent小号即JTextPane,JEditorPane等当前插入符号索引处示出它的:

在此输入图像描述

要更改单词的文本颜色(即语法高亮),请查看此处:

在此输入图像描述

或者如果你想要一个突出显示的单词.看到这里:

在此输入图像描述