更改使用函数找到的单词的背景颜色。

时间:2011-08-02 02:19:21

标签: java swing textarea replace

我有一个简单的摇摆gui,其中有两个文本字段用于搜索,另一个用于替换,类似于任何其他查找和替换实用程序。有一个textarea,其中的单词被找到并替换。这个代码是作为它现在应该是我想要的,我想改变背景颜色或字体颜色只是为了指示找到哪个单词(就像任何其他搜索实用程序一样)。我怎么能用java做到这一点?

2 个答案:

答案 0 :(得分:2)

  

我想更改背景颜色或字体颜色,以指示找到哪个单词

您可以使用荧光笔:

Highlighter.HighlightPainter cyanPainter 
    = new DefaultHighlighter.DefaultHighlightPainter( Color.cyan );
...

textPane.getHighlighter().addHighlight( ?, ?, cyanPainter );

答案 1 :(得分:1)

使用EditorKit和JTextPane。然后,当您的用户输入他的查找/替换选项时,使用String.replace()将颜色标签插入到您的框的文本中,以显示他将改变什么。缺点是您需要在编辑完成后删除颜色标签。

http://download.oracle.com/javase/6/docs/api/javax/swing/JTextPane.html

http://download.oracle.com/javase/6/docs/api/javax/swing/text/rtf/RTFEditorKit.html http://download.oracle.com/javase/6/docs/api/javax/swing/text/html/HTMLEditorKit.html

编辑:固定链接到HTMLEditorKit