15

我有一个带有滚动条的文本区域。我会定期向其中添加新的文本行。我希望文本区域在添加新行时自动滚动到最底部的条目(最新的条目)。我怎样才能做到这一点?

textAreaStatus = new WebTextArea();
scrollPane = new JScrollPane(textAreaStatus);
textAreaStatus.setBackground(Color.black);
textAreaStatus.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
4

2 回答 2

26

看看 DefaultCaret 的 updatePolicy 属性:它可能会做你想做的事

DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(ALWAYS_UPDATE);

Rob (@camickr)对选项的一个很好的总结

于 2012-01-25T10:14:05.927 回答
16
textArea.setCaretPosition(textArea.getDocument().getLength());
于 2012-01-25T10:02:35.233 回答