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

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

...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
MagicJohn 2003-01-07
  • 打赏
  • 举报
回复
这里有一个关于scoll的例子
http://javaboutique.internet.com/Scrollup/
lau2002 2003-01-07
  • 打赏
  • 举报
回复
up

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧