JTextArea chat;
JScrollPane scollPanel;
JScrollBar jsb;
我喜欢的方法是:
chat.selectAll();//显示在最后一行
官方方法是:
jsb=scollPanel.getVerticalScrollBar();//
jsb.setValue(jsb.getMaximum());//
以下内容为转载
为了在聊天软件中实现把最新的记录明显的显示出来的功能,我想让滚动条自动的滚动到JTextArea的最后,但是找了很久都没找到合适的方法。曾经想在JScrollBar上做做文章,但是很可惜找不到出路。
(1)JTextArea.selectAll();
(2)JTextArea.setCaretPosition(JTextArea.getText().length());
(3)JScrollPane.getViewport().add(JTextArea,null);
说明:1)(1)(2)两种方法都是强制将光标移动到JTextArea中文字部分的末尾,而且两者都是在JTextArea的父类JTextComponent中定义的方法。孰优孰劣暂时看不出来,不过猫猫使用的是第一种,因为需要敲的字符数少。