jtextarea滚动

时间:2011-12-21 15:43:14

标签: java swing scroll jtextarea

我正在使用jtextarea并且它在我的应用程序执行期间动态填充(如日志)。我想删除垂直滚动条的自动滚动,我的意思是文本在字段中添加并且插入位置没有改变(它仅在我手动拖动它)。我怎样才能做到这一点?我试过scrollPane.getHorizontalScrollBar().setAutoscrolls(false) 但这没有帮助。

2 个答案:

答案 0 :(得分:2)

本身,文本区域不滚动;你必须在你的代码中有一些东西才能实现它。

通常的方法是在文档末尾设置插入符号(当您使用Java 5时加上caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);;请参阅Text Area Scrolling

要停止滚动,您必须在应用中找到代码并将其关闭。

setAutoscrolls()在这种情况下无效,因为它仅在您拖动选择文本时使用,鼠标在组件外部加上此属性的用途是其他内容(如果true,合成鼠标只要鼠标在组件外部,就会生成事件。

答案 1 :(得分:0)

如果我理解你的问题,可以使用以下内容:

myTextArea.setCaretPosition(myTextArea.getDocument().getLength() - 1);