2011-05-10 76 views
4

我必須編寫一個程序,在該程序中我必須突出顯示JTextarea中的句子。 我有一個名爲原始文件和摘要文件的文件。原始文件將顯示在textarea框中,我必須突出顯示textarea框中摘要文件的所有句子。突出顯示textarea中的句子

例如。如果原始文件包含「Tendulkar出生在孟買(現在的孟買),他的母親Rajni在保險行業工作,他的父親Ramesh Tendulkar,一位馬拉地小說家,在他最喜歡的音樂總監Sachin Dev Burman之後將Tendulkar命名爲Tendulkar的哥哥。阿吉特鼓勵他打板球,泰杜爾卡還有另外兩個兄弟姐妹:尼丁兄弟和薩維塔姐姐。「

上面的文本顯示在textarea中。

在摘要文件中,我有「泰杜卡爾出生在孟買(現在的孟買)。泰杜卡爾有另外兩個兄弟姐妹:一個哥哥尼廷和姐姐薩維塔。

我希望這些句子在textarea中突出顯示。請任何人都可以告訴我,我該怎麼做? 預先感謝您:)

回答

8

您可以使用Highlighter

Highlighter h = textArea.getHighlighter(); 
h.removeAllHighlights(); 
int pos = originalText.indexOf(summaryText, 0); 
h.addHighlight(pos , 
       pos + summaryText.Length, 
       DefaultHighlighter.DefaultPainter); 
2

根據The Java Tutorial

的JTextArea可以顯示可編輯的多行文本。儘管文本區域可以以任何字體顯示文本,但所有文本都是相同的字體。使用文本區域允許用戶輸入任何長度的未格式化文本或顯示未格式化的幫助信息。

您可能希望使用JEditorPane及其子類JTextPane在Swing中使用豐富文本區域,而不是普通的JTextArea。