我正在使用jtextarea并且它在我的应用程序执行期间动态填充(如日志)。我想删除垂直滚动条的自动滚动,我的意思是文本在字段中添加并且插入位置没有改变(它仅在我手动拖动它)。我怎样才能做到这一点?我试过scrollPane.getHorizontalScrollBar().setAutoscrolls(false)
但这没有帮助。
答案 0 :(得分:2)
本身,文本区域不滚动;你必须在你的代码中有一些东西才能实现它。
通常的方法是在文档末尾设置插入符号(当您使用Java 5时加上caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
;请参阅Text Area Scrolling)
要停止滚动,您必须在应用中找到代码并将其关闭。
setAutoscrolls()
在这种情况下无效,因为它仅在您拖动选择文本时使用,鼠标在组件外部加上此属性的用途是其他内容(如果true
,合成鼠标只要鼠标在组件外部,就会生成事件。
答案 1 :(得分:0)
如果我理解你的问题,可以使用以下内容:
myTextArea.setCaretPosition(myTextArea.getDocument().getLength() - 1);