Java Swing - использование JScrollPane и его прокрутка вверх

Я использую JScrollPane, чтобы разрешить прокрутку в JFrame с текстовым компонентом, который служит в качестве текстового редактора. То, что я хочу сделать после установки текста в этом редакторе, - это прокрутить назад вверх, чтобы вы могли видеть, что в начале файла.

Кто-нибудь знает, как это сделать?

Ответ 1

Вызов setCaretPosition (0) вашего текстового компонента приведет к его прокрутке вверх.

Ответ 2

На всякий случай, если вы не используете текстовый компонент, посмотрите на представленную здесь тему.... Настройка полосы прокрутки на JScrollPane

Их решение состоит в том, чтобы открутить поток через invokeLater

final JScrollPane scroll = new JScrollPane(text);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
   public void run() { 
       scroll.getVerticalScrollBar().setValue(0);
   }
});

Ответ 3

Это сделает работу:

DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);

Ответ 5

Вы можете использовать метод setCaretPosition(0) сразу после setText(String t) вашего текстового компонента.

Ответ 6

Вы можете попробовать следующее:

 scrollPane.getViewport().setViewPosition(new Point(0,0));

В соответствии с JavaDocs setViewPosition() ведет себя следующим образом:

Устанавливает координаты представления, которые отображаются в верхнем левом углу окна просмотра, ничего не делает, если нет представления.