关闭

让Swing表格支持远程后台数据翻页

发表于:2012-8-10 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:TWaver    来源:51Testing软件测试网采编

  TWaver Java不但提供了TTable、TElementTable这些表格组件,而且还提供了表格翻页器TPageNavigator。让表格和翻页器结合工作,可以立刻做出一个非常标准的可翻页的表格界面,如下图。

  要让这两个组件一起工作,直接这样new一个实例,并放在界面上就可以了:

1 TElementTable table = new TElementTable();
2 int[] pageSizes = { 100, 500, 1000 };
3 TPageNavigator nav=new TPageNavigator(table.getTablePaging(), pageSizes)

  其中nav就是一个普通的JPanel,可以放在界面的任何位置。而table可以和nav在界面上完全脱离显示,如何布局都可以。

  不过,这个可以翻页的表格,只能翻页本地数据。也就是说,它只能翻已经放入TDataBox中的数据。例如我们一次性在TDataBox中加入了10000条数据,可以通过这个翻页器进行“每页100条、共有100页”这样的翻页操作。但是大多时候,我们需要的并不是“本地翻页”,而是“远程翻页”。所谓的远程翻页,也就是在每次翻页时候,TDataBox的数据需要被清空,并从远程服务器动态重新获取“下一页”的数据进行TDataBox加载并且显示。

  如何做到这一点呢?只要用了TWaver Java这一“神器”,做到这一点就不难了。本文就通过一个例子,来说明如何定制一个翻页器,来拦截翻页动作,并从服务器获取翻页数据,进行动态显示。

  TElementTable的翻页,实际上是靠一个TablePaging的接口来完成的。TWaver Java靠一个默认的TablePaging实现来完成了本地翻页。

  而我们要做的,就是创建一个远程翻页的TablePaging,来代替这个默认实现即可。

  TablePaging接口定义了下面这些函数。大多数的函数,都是在问你一些简单的远端数据方面的问题:一共有多少记录?一页有多少条记录?一共有多少页?当前是第几页?并且在第一页、最后一页、上一页、下一页等操作发生时,回调这个接口。所以,我们只要有了后台数据,就不难回答这些问题。

 1 public interface TablePaging {
 2     public int getCurrentPageIndex();
 3     public void setCurrentPageIndex(int currentPageIndex);
 4     public int getPageRowSize();
 5     public void setPageRowSize(int pageRowSize);
 6     public int getPageTotalCount();
 7     public int getTotalRowCount();
 8     public void firstPage();
 9     public void previousPage();
10     public void nextPage();
11     public void lastPage();
12     public void update();
13     public void addPageListener(PageListener pageListener);
14     public void removePageListener(PageListener pageListener);
15 }

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号