выделить некоторые слова в jeditorpane в Java Swing

Я работаю над Swing-приложением, в котором мне нужно показывать файлы HTML в JEditorPane. Я должен выделить какой-то текст, например. Для всех вхождений boy . Я использую следующий код, но он выделяет весь текст JEditorPane :

try
{          
    javax.swing.text.DefaultHighlighter.DefaultHighlightPainter highlightPainter = 
        new javax.swing.text.DefaultHighlighter.DefaultHighlightPainter(Color.YELLOW);
    textPane.getHighlighter().addHighlight(startPos, endPos, 
    highlightPainter);
}
catch(Exception ex)
{
}

но он выделяет весь документ. Какова роль startPos и endPos в этом методе?


person adesh    schedule 12.11.2012    source источник
comment
Пожалуйста, взгляните на этот замечательный пример от @mKorbel и этот пример, возможно, это поможет. Кроме того, здесь вы говорите о Swing, а не о awt, так что лучше добавить тег и для Swing.   -  person nIcE cOw    schedule 12.11.2012
comment
FWIW: Написание catch(Exception ex){} означает, что однажды вы получите сильную головную боль... Никогда не пишите пустой блок исключений catch. Всегда оставляйте след (журнал, сообщение на консоль...)   -  person Guillaume Polet    schedule 12.11.2012
comment
Также выделите слово в jeditorpane   -  person Bo PENG    schedule 24.11.2012


Ответы (1)


сначала вы должны определить ключевые слова, что означает, что вам нужно перебрать весь контент, когда слова равны ключевому слову, добавьте его HighLight. Вы не должны исключать, что JeditorPane распознает ключевое слово для вас.

person EricLin    schedule 05.03.2016
comment
@driodev Это является ответом на вопрос. Он вообще не требует разъяснений. - person Servy; 08.03.2016
comment
@Servy перейдите по этой ссылке обзора и посмотрите. Это не только мой комментарий - person droidev; 09.03.2016
comment
@driodev Итак, потому что другие люди также выбрали неправильное действие в обзоре, это нормально? Это не так работает. Если бы я мог ответить и на них, я бы ответил. - person Servy; 09.03.2016