2013-10-20 22 views
1

我有一個使用JTextPane用Java編寫的小型工作文本編輯器,我想爲特定的單詞添加顏色。它的工作方式與Java中的關鍵字(Eclipse內)相同;如果它們是關鍵字,則在用戶輸入完畢後會突出顯示它們。我對在Java中實現的文本編輯器很陌生,有什麼想法?如何在Java文本編輯器中對關鍵字進行着色?

+0

這是一個相當複雜的任務,如果您可以找到第三方庫,這將大大簡化問題。話雖如此,你可以看看[這個例子](http://stackoverflow.com/questions/19399904/set-hilighting-color-in-jtextfield/19401765#19401765)和[這個例子](http:///stackoverflow.com/questions/14727548/java-change-the-document-in-documentlistener/14727657#14727657)如果你真的想試試你的手... – MadProgrammer

+0

@MadProgrammer不要讓它變得複雜。使用'JSyntaxPane'代替;-)我知道你是一個簡單的人。 :-P –

+0

@LittleChild這不是關於我,這是OP想要的;) – MadProgrammer

回答

1

在計算機科學中,詞法分析是將字符序列轉換爲一系列令牌的過程。執行詞法分析的程序或函數稱爲詞法分析器,詞法分析器,標記器,[1]或掃描儀。詞法分析器通常以分析器或其他函數調用的單個函數的形式存在,或者可以將 與無掃描器分析中的解析器結合使用。

話雖如此,這不是一件小事。你需要一個高層次的庫來做到這一點。它會緩解你的任務。什麼是出路?使用ANTLR。下面是它的網站說:

ANTLR是一個功能強大的解析器生成器,您可以使用閱讀, 進程,執行,或翻譯結構化文本文件或二進制文件。它是 在學術界和工業界廣泛用於構建各種語言, 工具和框架....
NetBeans IDE使用ANTLR分析C++。

在那裏,問題解決了。 ANTLR的作者還有一本關於如何使用ANTLR的書,如果你想學習如何使用它,你可能想購買它。

給了你足夠的腦融化,有一個開箱即用的解決方案:JSyntaxPane。就像任何JCOmponent一樣,您將其初始化並將其彈出到JFrame中。它像一個魅力。它支持除Java以外的大量語言

相關問題