JScrollPane自动乡下滚动

来源:互联网 发布:南京行知初中部怎么样 编辑:程序博客网 时间:2024/04/30 02:52
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);
0 0
原创粉丝点击