如何实现 聊天窗口 自动下滑 java

向各位大侠请教:在java下如何实现聊天窗口的自动下滑(就像QQ的聊天窗口一样,总显示最近到达的信息)。JTextArea对象在JScrollPane对象中。针对skyy... 向各位大侠请教:在java下如何实现聊天窗口的自动下滑(就像QQ的聊天窗口一样,总显示最近到达的信息)。JTextArea对象在JScrollPane对象中。
针对skyyks001提供的代码,静态字符串输出没有问题,动态使用不理想。添加文本域对象srArea作为输入文本域,监听器中添加代码
String info=srArea.getText();
textArea.append("From"+info+"\n"+info+"\n");
文本框下滑不到底,只能到达From……这一行。
拜求解决方案
展开
 我来答
skyyks0001
2010-02-22 · TA获得超过430个赞
知道小有建树答主
回答量:228
采纳率:100%
帮助的人:404万
展开全部
给你一个示例代码 调整至最下的那部分在监听器里

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
*
* @author Jeky
*/
public class MainFrame extends JFrame {

private JButton button;
private JScrollPane scrollPane;
private JTextArea textArea;

public MainFrame() {
textArea = new JTextArea("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nThis is end!");
scrollPane = new JScrollPane(textArea);

button = new JButton("到最下面");
button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
JScrollBar bar = scrollPane.getVerticalScrollBar();
int max = bar.getMaximum();
bar.setValue(max);
}
});

JPanel south = new JPanel();
south.setLayout(new FlowLayout(FlowLayout.CENTER));
south.add(button);

this.getContentPane().add(scrollPane, BorderLayout.CENTER);
this.getContentPane().add(south, BorderLayout.SOUTH);
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String[] args) {
new MainFrame();
}
}
lqqnjust
2010-02-22 · TA获得超过415个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:484万
展开全部
可以获得所有文本的长度。然后把光标移动到那个长度那。我当初就是这样做的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hi_rabbit丶
2010-02-22 · 超过17用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:44.9万
展开全部
貌似不行 、

只有自己点下键 、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式