Bildlaufleiste von JScrollPane springt auf JEditorPane.setText () nach unten

Jedes Mal (außer beim ersten Mal), wenn ich Text in JEditorPane einstelle, springt die Bildlaufleiste zum unteren Rand von JEditorPane. Gibt es eine Möglichkeit, dies zu vermeiden? Ich habe versucht, setCaretPosition (0) nach setText () zu verwenden. Es funktioniert, ist aber nicht genau das, was ich brauche. Die Bildlaufleiste springt nach unten und dann nach oben. Gibt es eine Möglichkeit, eine Bewegung der Bildlaufleiste bei settext () zu vermeiden?

Mein Code:

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

    }

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage