毎回(初回を除く)、JEditorPaneでテキストを設定すると、スクロールバーがJEditorPaneの下部にジャンプします。これを回避する方法はありますか?私が試した1つの方法は、setText()の後にsetCaretPosition(0)を使用することです。それは機能しますが、それは私が必要としているものではありません。スクロールバーが下にジャンプしてから上にジャンプします。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");
}
}