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 に答える