高分求助!关于Swing方面的问题

oven 2003-01-07 12:15:27
本人正在做一个聊天室程序
我在JScrollPanel中放置了一个JTextArea来显示聊天内容,我想随着聊天内容的更新,
垂直滚动条自动向下移动,也就是使聊天内容自动向上滚动,使最后一行的文字一直可以看到。
是不是JScrollPanel,JTextArea中有什么专门的方法()或者编程怎么实现呢?
十分感谢!

...全文
8 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wsj 2003-01-07
只要jTextArea在jScrollPanel中,
jScrollPane1.getViewport().add(jTextArea1, null);
且设置了
jTextArea1.setLineWrap(true);

就自动会向下
回复
jackwind 2003-01-07
wsj: ‘就自动会向下’ - 不准确,一旦用户拉动Scrollbar,再append的文字就不会automatically scrolled.

俺教你一下:

textArea.setCaretPosition(*)

至于如何得到caret的position, 至少有三种方法 - 你自己去发现 - 注意在选取哪种方法的时候要考虑到performance!












回复
oven 2003-01-07
好象上边的方法不行
是不是和JTextArea1.SetEnable(True)有关
还有和ContentPane的Layout的设置有关,我设置的为XYLayout
我的部分代码:
contentPane.add(jScrollPane1, null);
jScrollPane1.setAutoscrolls(true);
jScrollPane1.getViewport().add(jTextArea2,null);
jTextArea1.setLineWrap(true);
this.jTextArea1.requestFocus();
this.jTextArea1.setSelectionStart(this.jTextArea1.getText().length());
this.jTextArea1.setSelectionEnd(this.jTextArea1.getText().length());
回复
LiGun 2003-01-07
gz
回复
lau2002 2003-01-07
up
回复
MagicJohn 2003-01-07
这里有一个关于scoll的例子
http://javaboutique.internet.com/Scrollup/
回复
发动态
发帖子
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
社区公告
暂无公告