我正在尝试但未能理解如何使用 Java 的文本编辑器组件在插入文本时对其进行着色。我不想要或不需要功能齐全的语法高亮库。
基本上,我有一个 JTextField(或其他一些 JText... 组件)和一个单词列表。我希望列表中出现的字段中的任何单词为红色,其余单词为绿色。例如,如果“fire”在列表中,“fir”将显示为绿色,“fire”将显示为红色。
我尝试使用 JTextPane 和 DefaultStyledDocument,使用 KeyListener 浏览文档中的文本,并使用 AbstractStyledDocument.replace 将现有单词替换为具有正确属性的版本。这没有做任何事情。我究竟做错了什么?