Мне удалось манипулировать положением полосы прокрутки, напрямую вызвав setValue на полосе прокрутки.
myScrollPane.getVerticalScrollBar().setValue()
Вопрос в том, какое значение установить? Можете ли вы предположить, что строки текста одинаковы? Если они обернутся, вещи станут сложными. Я собираюсь предположить, что они этого не делают, и что высота каждой строки одинакова, потому что шрифт и размер одинаковы. Затем вам нужно знать, какой индекс представляет текущая отображаемая строка, и общее количество строк.
Получив это, вы конвертируете индекс строки в позицию Y редактора, умножая индекс строки на высоту редактора над количеством строк и устанавливая соответствующим образом.
myScrollPane.getVerticalScrollBar().setValue( (int) indexOfCurrentLine * myEditorPane.getHeight() / countOfLines );
Очевидно, что я не смог проверить это без SSCCE.