突出显示textarea中的句子

问题描述:

我必须编写一个程序,在该程序中我必须突出显示JTextarea中的句子。 我有一个名为原始文件和摘要文件的文件。原始文件将显示在textarea框中,我必须突出显示textarea框中摘要文件的所有句子。突出显示textarea中的句子

例如。如果原始文件包含“Tendulkar出生在孟买(现在的孟买),他的母亲Rajni在保险行业工作,他的父亲Ramesh Tendulkar,一位马拉地小说家,在他最喜欢的音乐总监Sachin Dev Burman之后将Tendulkar命名为Tendulkar的哥哥。阿吉特鼓励他打板球,泰杜尔卡还有另外两个兄弟姐妹:尼丁兄弟和萨维塔姐姐。“

上面的文本显示在textarea中。

在摘要文件中,我有“泰杜卡尔出生在孟买(现在的孟买)。泰杜卡尔有另外两个兄弟姐妹:一个哥哥尼廷和姐姐萨维塔。

我希望这些句子在textarea中突出显示。请任何人都可以告诉我,我该怎么做? 预先感谢您:)

您可以使用Highlighter

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

根据The Java Tutorial

的JTextArea可以显示可编辑的多行文本。尽管文本区域可以以任何字体显示文本,但所有文本都是相同的字体。使用文本区域允许用户输入任何长度的未格式化文本或显示未格式化的帮助信息。

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