第9章 树状列表 《Eclipse从入门到精通》教学课件.pptVIP

第9章 树状列表 《Eclipse从入门到精通》教学课件.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 树状列表 《Eclipse从入门到精通》教学课件

第9章 树状列表 树状列表和表格一样都是常用的数据显示部件。而树状列表也是所有SWT部件中最为复杂的一个。本章依然是按照循序渐进的过程,从树状列表最简单的应用开始讲解。随着内容的深入,尤其是树状列表的交互功能部分,将是全书最复杂的内容。如果读者学习这部分的时候有困难,不妨跳过,先学习后面各章节的内容,在应用中遇到树状列表的应用时再结合实际应用学习本章的知识。 9.1 Tree的基本用法 在SWT中,实现树状列表的部件是Tree。和Table类似,单独建立Tree部件是不能完成树状列表的显示的,还需要使用TreeItem,TreeItem是树状列表中的节点。Tree也可以象表格那样,可以分多列,定义列的部件是TreeColumn。 9.1.1 最基本的树状列表样式 下面看一个简单的例子,看一下这几个部件是如何在一起应用的。构造一个Tree的过程可以分成下面三步: 第一步:构造一个Tree对象。 第二步:定义TreeColumn。 第三步:添加TreeItem。 9.1.2 Tree的样式 与其他部件一样,在构造Tree的时候,通过样式的组合,可以演变成多种样式的树状列表。Tree可以用的样式主要有: SWT.SINGLE: SWT.MULTI: SWT.FULL_SELECTION: SWT.CHECK: SWT.VIRTUAL: 9.1.3 TreeItem的使用 有前面Table应用的经验,应该很容易理解这段代码。构造Tree,设置Tree的列和Table都是一样的。在Tree中,第一列必然是显示树状结构的。 TreeItem有两种构造方法,一种是以Tree作为容器对象的构造方法,用这种构造方法构造的是根节点: TreeItem(Tree parent, int style) TreeItem(Tree parent, int style, int index) 第二种是以TreeItem作为上级节点的构造方法,用这种构造方法就是建立上级节点的子节点: TreeItem(TreeItem parentItem, int style) TreeItem(TreeItem parentItem, int style, int index) 9.1.4 TreeColumn的属性 TreeColumn用于定义树状列表的列,它的作用和TableColumn是一样的,用法也一样。下面是TreeColumn的主要方法。 void setAlignment(int alignment): void setImage(Image image): void setMoveable(boolean moveable): void setResizable(boolean resizable): void setText(String string): void setToolTipText(String string): void setWidth(int width): void pack(): 9.2 提升海量数据时的性能 在实际应用中,使用Tree来显示海量数据是常用的事情。例如要显示一个文件系统中的文件结构。如果等待程序把文件系统的整个结构分析出来后再建立、显示树状结构,估计要非常长的时间。Tree和Table一样,也可以用VIRTUAL样式来改善性能。另外一种提升Tree响应性能的方式也是使用线程。 9.2.1 虚拟树表的原理 虚拟树表的原理是,当用户看到某个节点后,才构造该节点对应TreeItem,这个原理和虚拟表相似。不同的是,树状列表的节点是分层的,很难在事前预测所有节点的数量。但是用户在查看树状列表的时候是一层层展开的,这就提供了一个机会:当用户展开节点的时候,才构造该节点的子节点。虚拟表的应用可以参考下面的步骤: 第一步:构造Tree,并赋予SWT.VIRTUAL样式;并根据需要设置其他属性,包括设置分列。 第二步:用setItemCount()方法设置根节点的数量; 第三步:添加SetData事件监听器,在监听器中实现TreeItem的构造,同时获得当前TreeItem的子节点数量。 9.2.2 用虚拟表实现文件系统列表 下面这个例子将类似Windows的资源管理器,从文件系统中获取文件的结构,以树状的形式显示。要知道,一个文件系统中的文件是非常多的,甚至多达数十万个文件。如果用普通树状列表来实现,将占用非常多的资源,是行不通的。所以要实现这样的功能只能用虚拟表。 9.3 Tree的事件 对于Tree的应用不能只是停留在显示树状结构的数据而已。用户还需要对树状列表中的数据进行交互操作。在树状列表中,常用的操作有:选择、编辑、拖放、移动等等。这些操作都通过捕获事

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档