JTextArea - rolar barra automaticamente ao inserir com .append()

JTextArea txtObservacao = new JTextArea();
txtObservacao.setFont((new JTextField()).getFont());
txtObservacao.setLineWrap(true);
txtObservacao.setWrapStyleWord(true);
txtObservacao.setEditable(false);
       
JScrollPane scrollObservacao = new JScrollPane(txtObservacao);
scrollObservacao.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

Tenho esse JTextArea dentro do JScrollPane…
Queria rolar barra de rolagem automaticamente ao inserir um texto com txtObservacao.append("")

Alguém pode ajudar?

Eu uso o método setCaretPosition passando como parâmetro o tamanho do texto contido no JTextArea, ou seja:

textArea.append(str)
textArea.setCaretPosition(textArea.getText().length())

Espero que minha primeira contribuição aos usuários do fórum (depois de muito sugar!) seja útil!

Abraço.