Barra de rolagem JScrollPane salta para baixo em JEditorPane.setText ()

Toda vez que (exceto primeira vez) eu definir o texto na barra de rolagem JEditorPane, salta para a parte inferior do JEditorPane. Existe alguma maneira de evitar isso? Uma maneira que eu tentei é usar setCaretPosition (0) após setText (). Funciona, mas não é exatamente o que eu preciso. Barra de rolagem pula para baixo e, em seguida, salta para cima. Existe uma maneira de evitar qualquer movimento da barra de rolagem em settext ()?

Meu código:

package test;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JScrollPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;

public class Test extends JApplet implements  HyperlinkListener {

    JEditorPane dataDisplayer = new JEditorPane();

    public void init() {
        ataDisplayer.setEditable(false);
        dataDisplayer.add(new JButton());
        dataDisplayer.setContentType("text/html");   
        JScrollPane jsp = new JScrollPane(dataDisplayer);
        dataDisplayer.setText("<a href=''>Change Text</a><br><br><br><br><br><br><br><br><br><br>bla");
        this.dataDisplayer.addHyperlinkListener(this);
        setContentPane(jsp);
    }

    @Override
    public void hyperlinkUpdate(HyperlinkEvent arg0) {
        dataDisplayer.setText("<a href=''>Change Text</a><br><br><br><br><br><br><br><br><br><br>bla bla");

    }

}

questionAnswers(2)

yourAnswerToTheQuestion