我有一個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