我在嘗試並且無法理解如何使用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