突出显示textarea中的句子

时间:2011-05-10 11:47:30

标签: java highlight

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

例如。如果原始文件包含“Tendulkar出生在孟买(现孟买)。他的母亲Rajni在保险业工作,他的父亲Ramesh Tendulkar,一位马拉地语小说家,在他最喜欢的音乐总监Sachin Dev Burman之后命名了Tendulkar.Tendulkar's哥哥Ajit鼓励他打板球.Tendulkar还有另外两个兄弟姐妹:兄弟Nitin和妹妹Savita。“

上面的文字显示在textarea中。

总结文件中我有“Tendulkar出生在孟买(现孟买).Tendulkar还有另外两个兄弟姐妹:兄弟Nitin和妹妹Savita。”

我想在textarea中突出显示这些句子。请有人能告诉我该怎么做? 提前谢谢你:)

2 个答案:

答案 0 :(得分:8)

您可以使用Highlighter

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

答案 1 :(得分:2)

根据The Java Tutorial

  

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

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