特投工作室

 找回密码
 立即注册

QQ登录

只需一步,快速开始

(站外) 特投工作室

查看: 2805|回复: 0

JScrollPane + JTable 自动滚动到最底部

[复制链接]

1963

主题

2941

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
52355
QQ
发表于 2016-2-8 18:04:00 | 显示全部楼层 |阅读模式
        第一次使用JScrollPane+JTable的时候就碰到了这个常见的问题:如何让表格自动滚动到最底部?我的实现代码如下,当需要向表格中添加数据的时候,调用此代码段:

        int rowCount=mTab.getRowCount();
        mTab.getSelectionModel().setSelectionInterval(rowCount-1,rowCount-1);
        Rectangle rect=mTab.getCellRect(rowCount-1,0,true);
        mTab.updateUI();
        mTab.scrollRectToVisible(rect);
注意:
1)语句mTab.updateUI()必须放在mTab.scrollRectToVisible(rect)之前。
2)上述第二和第三行语句中,如果使用rowCount作为参数,那么在向下滚动的时候没有选中的效果。这种效果在某些场合可能会更好看点。

说明:
1)mTab和mBar是类的成员变量,如下所示:
    private DefaultTableModel mTabModel;
    private JTable mTab;
    private JScrollPane mPane;
2)mTab和mBar的初始化在构造方法中实现,如下所示:
    String[] clmnNames={"Task","SubTask","Result","Information"};
    mTabModel=new DefaultTableModel(clmnNames,1);
    mTabModel.removeRow(0);
    mTab=new JTable(mTabModel);
    mPane=new JScrollPane(mTab);
3)此段代码参考自如下链接:
http://blog.csdn.net/dancen/article/details/7379847

程序运行效果图:
6597841623819140868.jpg

转自:http://blog.163.com/ljf_gzhu/blog/static/13155344020121052020611/


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

您尚未登录,请登录后浏览更多精彩内容!
 立即注册
找回密码

QQ|Archiver|手机版|小黑屋|特投网 ( 皖ICP备13010674号-1 

GMT+8, 2019-10-17 10:31 , Processed in 0.187080 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表