Java Swing JScrollBar何时更新其大小?

时间:2017-06-01 09:39:06

标签: java swing

我在TypeToken.getParameterized(List.class, myType).getType(); 中有一个JTextArea,我使用JScrollPane向其添加消息。我试图通过在附加文本后将滚动条的值设置为最大值来自动滚动。但是,display.append()的值在追加一行后不会立即更新。我尝试使用getVerticalScrollBar().getMaximum()revalidate()repaint()强制更新,但似乎无法找到正确的功能。

MWE:

updateUI()

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是将插入符号位置设置为文本的结尾(或开头),如:

textArea.setCaretPosition (textArea.getText ().length ()); // to scroll to the bottom
textArea.setCaretPosition (0); // to scroll to the top

我使用类似的指令将插入位置设置为0,滚动条自动滚动到顶部,因此它应该适合你。