Автоматическая прокрутка до нижней части текстовой области - PullRequest
13 голосов
/ 25 января 2012

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

textAreaStatus = new WebTextArea();
scrollPane = new JScrollPane(textAreaStatus);
textAreaStatus.setBackground(Color.black);
textAreaStatus.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));

Ответы [ 2 ]

22 голосов
/ 25 января 2012

Посмотрите на свойство updatePolicy DefaultCaret: оно может делать то, что вы хотите

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

A хорошая сводка опций от Rob (@camickr)

15 голосов
/ 25 января 2012
textArea.setCaretPosition(textArea.getDocument().getLength());
...