我有一个textPane(在scrollPane内)自动更新的长文本。更新后,窗格滚动到textPane的顶部。我怎样才能停用“顶部滚动”(如textArea呢)。我无法使用textArea,因为我使用HTML对窗格中的文本进行了样式设置。我不能用textArea来做这个样式,对吧? :(JTextPane应该保持位置在更新
public void create(){
...
scrollpane.setViewportView(textPane);
textPane.setEditable(false);
textPane.setContentType("text/html");
...
}
public void update(String text){
textPane.setText(text);
}
感谢您的帮助
!解决方法:
public void update(final String iv_outputText) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
((DefaultCaret) textPane.getCaret())
.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
textPane.setText(iv_outputText);
}
});
}
将插入位置设置为文本窗格内的最后位置。 – MadProgrammer 2014-09-04 06:35:39
一个[runnable示例](https://stackoverflow.com/help/mcve)它演示您的问题也将有所帮助 – MadProgrammer 2014-09-04 06:37:07