Установите положение каретки с помощью JTextArea в JScrollPane

Прямо сейчас у меня есть JTextArea внутри JScrollPane. Для текущего контента отображается как вертикальная, так и горизонтальная полоса прокрутки. Я пытаюсь реализовать функцию поиска, в которой пользователь может искать определенную строку, и она установит позицию каретки в первое вхождение этой строки. Однако кажется, что JScrollPane прокручивается только по вертикали, когда я устанавливаю позицию каретки. Таким образом, совпадающие строки, выходящие за пределы JTextArea по горизонтали, будут полностью пропущены, а горизонтальная полоса прокрутки вообще не будет прокручиваться.

Я использую базовую функцию setCaretPosition() для JTextArea.

Кто-нибудь знает, почему мой JScrollPane не перемещается горизонтально, используя setCaretPosition()

Изменить:

Кажется, что горизонтальная полоса прокрутки прокручивается, но она движется так мало, что едва заметна. Я вижу только самый первый пиксель персонажа. Есть ли способ, чтобы центр полосы прокрутки (или как можно больше) находился в позиции каретки?


person Albinoswordfish    schedule 07.01.2011    source источник
comment
Чтобы быстрее получить помощь, опубликуйте SSCCE (pscode.org/sscce.html), демонстрирующий проблему. Или, по крайней мере, то, что у вас есть до сих пор.   -  person Andrew Thompson    schedule 08.01.2011


Ответы (1)