Используя JEditorPane, есть ли способ узнать, находится ли каретка в последней строке?Я не могу найти ничего в API или, что более важно, JTextComponent, из которого происходит JEditorPane.Мне нужно это выяснить, когда пользователь использует клавишу со стрелкой вниз для перемещения вниз по тексту.Моя текущая идея заключается в следующем:
private boolean isEndOfText() {
int tmpCurrent = editor.getCaretPosition();
editor.getActionMap().get(DefaultEditorKit.endLineAction).actionPerformed(null);
int tmpEnd = editor.getCaretPosition();
try { editor.setCaretPosition(tmpEnd + 1); } catch (Exception e) { editor.setCaretPosition(tmpCurrent); return true; }
editor.setCaretPosition(tmpCurrent);
return false;
}
Этот код будет запускаться всякий раз, когда нажата клавиша «Вниз», и будет возвращать информацию о том, действительно ли это конец текста, обнаруживая, если возникает ошибка, если символ вставкиставится после последней возможной позиции, которая будет концом строки (если это фактически последняя строка), в противном случае это означает, что конец текста не достигнут.