Java JScrollPane 点击后停止滚动

Java JScrollPane stop scrolling after click into it

我在 JScrollPane 中有一个 JTextArea,Caret Update 工作正常。

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

我的问题是,在我单击 JTextArea 之后,滚动条变大了,但视口仍然没有跟随。

如您所见,垂直滚动条不在底部。到 TextPane 下角的距离在增加,但视口仍然停留在他的位置上。同时,由于 HTML 支持,我切换到 JTextPane,但仍然面临同样的问题。

希望你理解我,问候。

当您单击 JTextArea 时,就是在该点设置插入符号位置。插入符号总是试图使自己可见,因此如果您稍后附加不在插入符号处的文本,文本区域将停止滚动。所以追加文字的时候,还需要调用textarea.setCaretPosition(wherever_you_want_it_to_be).