La barra de desplazamiento de JScrollPane salta hacia abajo en JEditorPane.setText ()

Cada vez que (excepto la primera vez) configuro el texto en JEditorPane, la barra de desplazamiento salta a la parte inferior de JEditorPane. Hay alguna manera de evitar esto? Una forma en que lo intenté es usar setCaretPosition (0) después de setText (). Funciona pero no es exactamente lo que necesito. La barra de desplazamiento salta hacia abajo y luego salta hacia arriba. ¿Hay alguna manera de evitar cualquier movimiento de la barra de desplazamiento en settext ()?

Mi 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");

    }

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta