Я ищу быстрый способ найти строку в JTextPane и изменить там стиль, чтобы он был выделен. В настоящее время у меня есть что-то вроде этого (tpOutput - это рассматриваемая JTextPane, strSearch - строка для поиска.. duh):
int index = tpOutput.getText().indexOf(strSearch);
StyledDocument doc = tpOutput.getStyledDocument();
doc.setCharacterAttributes(i, strSearch.length(), doc.getStyle("exampleStyle") , false);
Однако, как бы красиво это ни было, если бы это работало, оно неправильно считает символы новой строки, поэтому, если я ищу текст «foobar» в
foobarTTT
abcd123
abcd123
он правильно выделил бы "foobar" в первой строке. Однако в
abcd123
abcd123
foobarTTT
это выделит «obarTT» (и следующие 2 пробела, если они существуют)
Я, вероятно, все делаю неправильно, пытаясь легко получить смещение, используя только текст. Кто-нибудь знает правильный способ сделать это?