我在尝试并且无法理解如何使用Java的文本编辑器组件在插入时对文本着色。我不想或不需要全功能语法突出显示库。在JTextField/JTextPane中创建不同的颜色/?
基本上,我有一个JTextField(或其他JText ...组件)和一个单词列表。我希望字段中出现在字段中的任何单词是红色的,其余单词是绿色的。例如,如果列表中有“火灾”,“fir”将显示为绿色,“fire”将显示为红色。
我试过使用JTextPane和DefaultStyledDocument,使用KeyListener来检查文档中的文本并使用AbstractStyledDocument.replace用具有正确属性的版本替换现有单词。这没有做任何事情。我究竟做错了什么?
难点在于我需要在用户键入文本时随时进行这种着色。所以我不太需要创建文本,因为我一直在进行着色。 – Zarkonnen 2010-07-04 19:00:46
从我的编辑(水平线以南)的东西应该可以帮到你。聆听模型后,您可以按照自己的喜好对任何新的/已更改的文本进行着色处理。 – 2010-07-04 19:07:32