Я делаю текстовый редактор, который требует пользовательской проверки. Поскольку содержание очень большое, я подумал о проверке только тех строк, которые были изменены или добавлены. Ошибки проверки отображаются номерами строк, например, «Строка: 10 не может превышать 15 символов»
Для отдельных строк каждый раз, когда пользователь меняет iam, проверяя текущую строку, сохраняя номер строки в качестве ссылки. - решено
Пользователь может копировать текст и вставлять несколько строк. для этого подумал о getSelectionStart и getSelectionEnd. Есть ли способ получить номера строк из getSelectionStart и getSelectionEnd, чтобы я мог получить начальную и конечную строки?
После некоторого изложения я подумал, что выбор видимых линий решит мою вышеупомянутую проблему № 2.
Прямоугольник решил бы в получении x, y кординатов видимой области и написал код, я думаю, что я почти закончил. Но я не получаю номер конца строки правильно,
[code]
//editor is jtextarea
Rectangle r = editor.getVisibleRect();
Point top = new Point(r.x, r.y);
Point bottom = new Point(r.x, r.y + r.height);
int startRow = editor.viewToModel(top); /* this is working. it shows 0 at initial, then after the line reaches the end and when the scrollbar gets displayed, it shows the numbers correctly, 1,2,3...*/
int endRow = editor.viewToModel(bottom); /* this is not working, when we type, it is taking column numbers */
editorLineNo.setText(" START ROW " + startRow + " END ROW" + endRow);
[/code]
What is needed is, start row number and end row number from the viewable area of jtextarea