JTextArea se desplaza hacia abajo solo si se agrega texto
Estoy tratando de crear unJTextArea
que se desplaza hacia abajo cada vez que se agrega un texto a esa área de texto. De lo contrario, el usuario debería poder desplazarse hacia arriba y ver el mensaje anterior. Usé este código:
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());
}});
Hasta ahora, este código parece hacer que mi área de texto se desplace hacia la parte inferior delterminalText
área de texto cada vez que agrego algo aterminalText
utilizandoterminalText.append
.
Sin embargo, el usuario no puede usar la barra de desplazamiento para desplazarse hacia la parte superior y ver el mensaje anterior. ¿Hay alguna manera de arreglar esto? Debería estar usandoDocumentListener
¿lograr esto?