第10章 JFace的Viewer.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 JFace的Viewer

第10章 JFace的Viewer 在前面学习Table和Tree的时候,可能都会感觉到Table和Tree的应用实在太复杂了,要比较完整地实现Table和Tree的功能需要编写大量的代码。使用JFace,则可以大大简化Table和Tree的应用。本章将从JFace提供为Table和Tree提供的Viewer开始,学习应用JFace。 10.1 JFace概述 按照惯例,每出现一个新的概念,都要对这个新概念作一个概述。所以在本章的开始,首先来了解一下什么是JFace?JFace对于Eclipse为什么那么重要?JFace和SWT是什么关系?JFace为简化建立用户界面,都提供了一些什么东西? 10.1.1 什么是JFace? JFace也是Eclipse中的一个重要子项目。JFace是一组UI的工具集,提供了一批帮助类(Helper),使用这些帮助类简化建立用户界面的工作。JFace是基于SWT的,必须依赖SWT,JFace本身也不会隐藏SWT的功能。JFace也是跨平台的,可以运用在任何在SWT所支持的操作系统中。 虽然SWT是整个Eclipse界面的基础,但是Eclipse的界面也大量应用了JFace的技术。可以这么比喻,SWT是Eclipse图形界面“骨”,JFace是图形界面“肉”,而用户看到的Eclipse界面是“表皮”。对于Eclipse平台来说,SWT和JFace缺一不可。 10.1.2 JFace都有些什么东西? JFace首先提供了现在应用程序中都具有的一些界面组件。包括对话框、向导、设置对话框等等组件。这些组件是基于SWT的,但是提供了更为规范和美观的样式。 JFace还提供了一系列的工具类,简化SWT组件的应用。其中最主要的是Viewer模式的工具,简化了包括Table和Tree在内一些组件的应用。这些Viewer包括: TreeViewer: TableViewer: ListViewer : TextViewer: CheckboxTreeViewer 和 CheckboxTableViewer 类似TreeViewer或TableViewer,但是加上了对检查框的支持。 10.1.3 JFace的包结构 限于本书的篇幅,不能涵盖所有JFace的应用,下面是JFace的包结构,通过这个包结构可以大概了解一下JFace所提供的应用功能。 org.eclipse.jface.action: org.eclipse.jface.bindings: mands: org.eclipse.jface.contexts: org.eclipse.jface.databinding: org.eclipse.jface.dialogs: org.eclipse.jface.fieldassist: org.eclipse.jface.layout: org.eclipse.jface.operation: org.eclipse.jface.preference: org.eclipse.jface.resource: org.eclipse.jface.text: org.eclipse.jface.util: org.eclipse.jface.viewers: org.eclipse.jface.window: org.eclipse.jface.wizard: 10.2 使用JFace简化表格应用 从前面的例子中,已经对SWT中的Table有了比较深入的了解。也看到随着应用的复杂,直接使用SWT提供的Table来实现表格应用要花费比较多的代码。本小节将学习如何用JFace提供的Tableviewer,简化Table的应用。 10.2.1 直接使用Table部件的情况 虽然JFace中有了简化Table的应用的方案,并不是说完全可以抛弃直接应用Table。通常只有在下面两种情况下才直接使用Table。 简单的表格: 需要对表格作更灵活的应用: 只能包含基本的SWT包。 10.2.2 使用TableViewer建立表格 下面是一个TableViewer的例子。这个例子建立的也是一个表格,显示职员的列表,主要数据列有编号, 姓名, 性别, 说明。 10.2.3 了解TableViewer 在上面的代码中,关键的方法是createTableViewer(Table table)。在这个方法内,可以看到TableViewer的应用。 TableViewer是核心对象,起到控制作用,与主要的对象建立关联,控制了整个实现过程。 10.2.4 实现IStructuredContentProvider 下面的类ExampleContentProvider是示例中IStr

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档