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

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








...全文
7 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
colors 2003-01-08
to: beyond_xiruo(希偌) 太强了
你怎么有这么多时间来写啊
回复
lfb1978 2003-01-08
试试将焦点放在上面,应该就可以了吧!
回复
希偌 2003-01-07
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Frame1 extends JFrame {
private JPanel contentPane;
private JLabel jLabel1 = new JLabel();
private JButton jb=new JButton("click");
private JPanel jp=new JPanel(new FlowLayout());
private JScrollPane jscr=new JScrollPane();
private JTextArea jta=new JTextArea();
public Frame1() {
super("myFrame");
this.setSize(400,300);
this.setResizable(false);
this.setLocation(this.getToolkit().getScreenSize().width/2-this.getWidth()/2,this.getToolkit().getScreenSize().height/2-this.getHeight()/2);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add("South",jp);
contentPane.add("Center",jscr);
jscr.getViewport().add(jta);
jta.setText("start\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nend");
jp.add(jb);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
click(e);
}
});
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
if(j!=1)
System.out.print(",");
System.out.print(j+"*"+i+"="+i*j);
}
System.out.println("");
}
this.setVisible(true);
}

public void click(ActionEvent e) {
this.jta.requestFocus();
this.jta.setSelectionStart(this.jta.getText().length());
this.jta.setSelectionEnd(this.jta.getText().length());
}

public static void main(String args[]) {
new Frame1();
}
}
回复
MagicJohn 2003-01-07
这里有一个关于scoll的例子
http://javaboutique.internet.com/Scrollup/
回复
LiGun 2003-01-07
gz
回复
发动态
发帖子
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
社区公告
暂无公告