Java Swing中的代码完成和语法突出显示
我启动了一个项目,需要语法突出显示和代码完成(插入符号位置会弹出一个窗口提供建议),但找不到合适的解决方案。有多个Swing组件可以进行文本输入,例如JTextArea、JTextPane和JEditorPane,这使得确定哪一个是正确的组件非常困难 该项目是一个特定于程序员的文本编辑器,它将与unity游戏引擎集成。这意味着代码完成和突出显示将在JavaScript和C#语法上完成 这可能是显而易见的,但一般的想法是,当用户键入某些单词时,这些单词将被存储在文本文件中。为了完成代码,我需要能够抓取当前键入的字母,此检测过程将使用空格字符作为分隔符重新启动Java Swing中的代码完成和语法突出显示,java,javascript,swing,syntax-highlighting,code-completion,Java,Javascript,Swing,Syntax Highlighting,Code Completion,我启动了一个项目,需要语法突出显示和代码完成(插入符号位置会弹出一个窗口提供建议),但找不到合适的解决方案。有多个Swing组件可以进行文本输入,例如JTextArea、JTextPane和JEditorPane,这使得确定哪一个是正确的组件非常困难 该项目是一个特定于程序员的文本编辑器,它将与unity游戏引擎集成。这意味着代码完成和突出显示将在JavaScript和C#语法上完成 这可能是显而易见的,但一般的想法是,当用户键入某些单词时,这些单词将被存储在文本文件中。为了完成代码,我需要能够
感谢您的时间:)您可以查看(广泛使用的JNI包装)中的组件,或者查看它们的许可条款是否适合您的用例。请参阅我的答案,其中显示了
JTextComponent
的自动完成,它可以在JTextPane
/JEditorPane
上显示当前插入符号索引的自动完成单词弹出窗口(idea为+1@andrewhompson):
对于JTextField
:
对于其他JTextComponent
s,即JTextPane
,JEditorPane
等,其当前插入符号索引中显示:
要更改单词的文本颜色(即语法突出显示),请查看:
或者如果你想要一个突出显示的单词。见:
“谢谢您的时间:)”您有什么问题吗?如果是,是什么?顺便说一句,
JTextArea
用于纯文本,因此不适合此任务,而JTextPane
和JEditorPane
支持样式文本。第一个链接非常完美,谢谢。尽管有很多事情需要改变,但它直接解决了我的问题。我一直在想这个问题。