野马table排序初探

因为之前的swing中jtable不支持自动排序,所以手写了一个排序的功能,但是运行起来总有问题,效率不高,看到jdk6中引入了一个TableRowSorter,拿来尝试一下.
 
网上看到下面这个超简单的实现方法
JTable table  =   new  JTable (model);

table.setAutoCreateRowSorter (
true );
当然了,在doc里面也有个简单的例子
   TableModel myModel  =  createMyTableModel();
   JTable table 
=   new  JTable(myModel);
   table.setRowSorter(
new  TableRowSorter(myModel));
意思都差不多,如果有特别的排序模式,比如说保存的字符串1,2,10,11,这种要按照数字大小排序,那就需要重写这个类了,具体内容还没看,需要做的时候可以研究一下。
此外对jtable 的过滤功能也可以独立完成了
TableModel myModel  =  createMyTableModel();
   TableRowSorter sorter 
=   new  TableRowSorter(myModel);
   sorter.setRowFilter(RowFilter.regexFilter(
" .*foo.* " ));
   JTable table 
=   new  JTable(myModel);
   table.setRowSorter(sorter);
我测试了一下速度,8000行的数据,第一次点击排序的时候能感觉到有点卡,不到1秒钟,可以接受,再点就快了,估计是在内存中做过优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值