首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

15.8  列表(ListViewer类)

15.8.1  ListViewer简介

在前面介绍过TableViewer和TreeViewer之后,ListViewer就没有什么新鲜的知识了。如果把TableViewer设置成一列,在界面上就成了ListViewer的样子。当然ListViewer类并非由TableViewer类简化而来,它是SWT的List组件的一个扩展,其谱系图如图15.8所示。

笔者在实际开发中很少用到ListViewer,简单的开发需求,用SWT的List就够了。对于复杂的开发需求,把TableViewer设置成一行也能满足,而且还便于扩展成多列。如果开发需求很明确:就只要一个列表,而且数据操作比较复杂、数据量比较多,这时就比较适合用ListViewer。

15.8.2  ListViewer的实例

ListViewer和TableViewer、TreeViewer一样也有自己的内容器和标签器。其内容器和TableViewer一样,标签器和TreeViewer的一样。甚至本小节实例中可以直接挪用TableViewer的内容器和TreeViewer的标签器。另外,本小节实例输入setInput方法的数据是用TreeViewer数据模型中的国家实体类。实例的主程序代码如下(效果如图15.9所示):

//--------------完整代码见ListViewer1.java----------------

shell.setLayout(new FillLayout());

ListViewer lv = new ListViewer(shell, SWT.BORDER);

lv.setContentProvider(new TableViewerContentProvider());

lv.setLabelProvider(new TreeViewerLableProvider());

java.util.List input = DataFactory.createTreeData();

lv.setInput(input);

lv.add(new CountryEntity("英国"));//也可以用add方法往列表中加入新项

lv.add(new CountryEntity("法国"));

         

图15.8  ListViewer的谱系图             图15.9  ListViewer的效果图

15.8.3  ListViewer的常用方法

ListViewer的常用方法如表15.1所示。

表15.1  ListViewer常用的方法

ListViewer常用方法

功    能

void add(Object element)

添加一项

void add(Object[] elements)

通过数组一次加入多项

Object getElementAt(int index)

返回序号为index的记录(如国家实体类CountryEntity)

List getList()

ListViewer是List的扩展,此方法可得到内含的List组件

void remove(Object element)

从ListViewer移去一项

void remove(Object[] elements)

从ListViewer移去数组中的几项

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论