JTextArea прокрутить вниз, только если текст добавлен

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

JTextArea terminalText  = new JTextArea();
JPanel terminal = new JPanel();
terminal.setLayout(new BorderLayout()); 
add(terminal);  //Adds the terminal to mother JPanel

//I added scrollbar to my JTextArea
JScrollPane scroll = new JScrollPane(terminalText);  
terminal.add(scroll, BorderLayout.CENTER);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

scroll.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {  
public void adjustmentValueChanged(AdjustmentEvent e) {  
 e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
}});

Пока этот код, кажется, заставляет мою текстовую область прокручиваться к нижней частиterminalText область текста каждый раз, когда я добавляю что-то кterminalText с помощьюterminalText.append.

Тем не менее, пользователь не может использовать полосу прокрутки для прокрутки вверх, чтобы увидеть предыдущее сообщение. Есть ли способ это исправить? Должен ли я использоватьDocumentListener для достижения этой цели?

Ответы на вопрос(2)

Ваш ответ на вопрос