JScrollPane自动乡下滚动

public void setUpdatePolicy(int policy)
设置文档更新时的插入符移动策略。通常,当在插入符位置之前或当前位置插入时,以及在插入符位置之前删除时,插入符会更新其在文档中的绝对位置。这里的“绝对位置”指的是相对于文档开头的位置。例如,在一个可编辑的文本组件中输入一个字符时,它将插入到插入符位置,而插入符由于此插入将移动到文档中下一个绝对位置,如果输入的是BACKSPACE,插入符的绝对位置将减小,因为在它之前删除了一个字符。有时候,关闭插入符位置更新很有用,这样无论文档怎么更新,插入符都将保持在文档中同一绝对位置。

允许以下更新策略:

  • NEVER_UPDATE:无论文档怎样更新,插入符在文档中都位于同一绝对位置,除非由于删除使文档长度小于当前插入符位置。这种情况下,插入符位置将被调整到文档的结尾。使用此策略时,插入符不会试图在滚动关联的视图时保持可见。
  • ALWAYS_UPDATE:插入符始终跟踪文档更改。对于一般的更改,如果在插入符位置之前或当前位置插入,则增加它的位置,如果在当前位置之前删除,则减小它的位置。对于撤消/恢复更新,它总是移动到更新发生的位置。插入符总是试图通过调用adjustVisibility 方法保持可见。
  • UPDATE_WHEN_ON_EDT:如果文档更新在事件调度线程上执行,则与ALWAYS_UPDATE 动作类似;如果文档更新在其它线程上执行,则与NEVER_UPDATE 类似。

默认属性值为 UPDATE_WHEN_ON_EDT


参数:

policy - 它是以下值之一:UPDATE_WHEN_ON_EDTNEVER_UPDATEALWAYS_UPDATE


Java代码

JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();// 获取允许在视图上进行面向文本导航的插入符
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值