изменить цвет фона слова, которое найдено с помощью функции. - PullRequest
1 голос
/ 02 августа 2011

У меня есть простой графический интерфейс, в котором есть два текстовых поля, одно для поиска, а другое для замены, аналогично любой другой утилите «Найти и заменить». Есть текстовая область, где слова находятся и заменяются. Теперь я должен изменить цвет фона или шрифта, чтобы указать, какое слово найдено (как и любые другие поисковые утилиты). Как я могу это сделать с помощью Java?

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Я хочу изменить цвет фона или цвет шрифта, просто чтобы указать, какое слово найдено

Вы можете использовать маркер:

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

textPane.getHighlighter().addHighlight( ?, ?, cyanPainter );
1 голос
/ 02 августа 2011

Используйте 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...