如何在jscrollpane中显示最新的内容

Canueman 2012-06-29 09:01:26
我做了一个JTextPane,然后把这个控件放在JScrollPane中,当textpane中的内容超过范围的时候,就出现了滚动条,但是看不到超出范围的内容,jscrollpane的滚动条一直都是靠上的,我想让自己能像QQ那样,看到最新的内容,把旧的内容给滚掉,请问怎么实现啊?
...全文
382 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
烟雨_楼台 2014-10-11
  • 打赏
  • 举报
回复
我也遇到你这种问题 每次获得数据后,就得调用一次 scrollBar.getVerticalScrollBar(); scrollBar.getMaximum()
外面在下雷 2012-06-30
  • 打赏
  • 举报
回复
你的方法我也用了 还是不行啊 如果把scrollBar.getMaximum()); 改成 scrollBar.getMinimum());就可以跑到最上面去,真是奇怪了
外面在下雷 2012-06-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

程序里控制滚动条的当前位置


的确如此:


Java code


import javax.swing.*;
import javax.swing.text.*;

public class JTextPaneFrame extends JFrame
{
private JTextPane textPane = new JTe……
[/Quote]


我做的是c/s 每次发送消息和接收消息的时候 滚动条都定在原地不动 不能显示最新发送过来的消息
周靖峰 2012-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

程序里控制滚动条的当前位置
[/Quote]

的确如此:


import javax.swing.*;
import javax.swing.text.*;

public class JTextPaneFrame extends JFrame
{
private JTextPane textPane = new JTextPane();
private JScrollPane scrollPane = new JScrollPane(textPane);

public JTextPaneFrame() throws BadLocationException
{
add(scrollPane);

Document document = textPane.getDocument();
document.insertString(document.getLength(), "1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n1\n", null);

JScrollBar scrollBar = scrollPane.getVerticalScrollBar(); //得到竖直方向的滚动条
scrollBar.setValue(scrollBar.getMaximum()); //设置滚动条为最大值
}

public static void main(String[] args) throws BadLocationException
{
JFrame frame = new JTextPaneFrame();
frame.setSize(400, 300);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
RDroid 2012-06-29
  • 打赏
  • 举报
回复
程序里控制滚动条的当前位置

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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