Полоса прокрутки JScrollPane перемещается вниз на JEditorPane.setText ()
Каждый раз (кроме первого раза) я устанавливаю текст в JEditorPane, полоса прокрутки переходит в нижнюю часть JEditorPane. Есть ли способ избежать этого? Один из способов, который я пытался использовать setCaretPosition (0) после setText (). Это работает, но это не совсем то, что мне нужно. Полоса прокрутки спрыгивает вниз, а затем прыгает вверх. Есть ли способ избежать какого-либо движения полосы прокрутки в settext ()?
Мой код:
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");
}
}