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