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