Проблема: у меня есть CaretListener и DocumentListener, прослушивающие JTextPane.
Мне нужен алгоритм, который может определить, в какой строке находится курсор в JTextPane, вот наглядный пример:
Результат: 3-я строка
Результат: 2-я строка
Результат: 4-я строка
и если алгоритм может сказать, какая строка вставки находится в JTextPane, должно быть довольно легко подстроить все, что находится между скобками, как изображение (вставка находится в символе m
из metadata
):
--
Вот как я делю весь текст, полученный из JTextPane, на предложения:
String[] lines = textPane.getText().split("\r?\n|\r", -1);
Предложения в textPane
разделяются \n.
Проблема в том, как я могу манипулировать курсором, чтобы сообщить мне, в какой позиции и в какой строке он находится? Я знаю, что точка вставки указывает, в какой позиции она находится, но я не могу сказать, в какой строке она находится. Предполагая, что если я знаю, в какой строке находится курсор, я могу просто сделать lines[<line number>]
и манипулировать строкой оттуда.
Вкратце: как использовать CaretListener и/или DocumentListener, чтобы узнать, на какой строке в данный момент находится курсор, и извлечь строку для дальнейшей строки манипуляция? Пожалуйста помоги. Спасибо.
Дайте мне знать, если необходимы дальнейшие разъяснения. Спасибо за ваше время.