Установить позицию каретки с помощью JTextArea в JScrollPane - PullRequest
1 голос
/ 08 января 2011

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

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

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

Редактировать:

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

1 Ответ

1 голос
/ 08 января 2011

Вы должны иметь возможность использовать Visible Caret Listener .

Или вы также можете посмотреть Центральная линия на панели прокрутки . Он только выравнивает линию по вертикали, но вы также можете настроить код так, чтобы он работал горизонтально.

...