首页 / 软件开发 / JAVA / 在定制SWT组件中实现MVC
在定制SWT组件中实现MVC2011-09-09Tejas R Parajia学习如何容易地把模型 - 视图 - 控制器与基于 Eclipse 的应用程序集成在 一起简介: Eclipse SWT(标准部件工具包)提供了丰富的 API 集来实现定制部 件(widget)。在这篇文章中,作者简要概括了 MVC(模型 - 视图 - 控制器) 架构,以结构化查看器的形式解释了 MVC 的当前实现,并介绍了一种使用定制 SWT 部件的实现。什么是 MVC?MVC 架构(或设计模式)是图形用户界面(GUI)的设计样式,由三部分构成 :模型、视图和控制器。MVC 把表示层从数据解耦出来,也把表示从数据的操作 解耦出来。实现 MVC 架构与其他类型的应用程序有所不同。主要的区别来自如何放置和 实现业务逻辑或查看呈现逻辑。与典型的 Web 应用程序不同,在这类程序中, 程序员必须设计和实现所有 MVC 组件,而 Eclipse 提供的 API 可以替您做大 部分控制或呈现工作。所以,不能严格地把 Eclipse 的 MVC 实现与 Web 或其 他应用程序类型的 MVC 进行比较。Eclipse JFaceEclipse JFace 用内容提供者和标签提供者实现 MVC 架构。JFace API 包装 了标准(并非不重要的)部件,例如表和树,并实现了结构化内容提供者和标签 提供者。可以根据部件类型实现不同的内容提供者。面向列表的查看器会实现结 构化查看器,而内容则以结构化(列表的)方式映射到部件条目上。基类叫做 Viewer,它是结构化查看器的一个扩展。查看器充当部件容器。内 容提供者以结构化的方式得到数据;类似地,标签提供者获得对应的标签。 JFace 查看器实现检索该数据,设置对应的关联,并用数据集更新用户界面(UI )组件。它还执行选择、过滤和排序。如何实现 JFaceEclipse View 和 Viewer 负责执行大部分 JFace 控制功能。Viewer 或者说 MVC 的视图部分,也充当部件容器;这是表示组件。Eclipse View 实例化 Viewer、内容提供者和标签提供者,并充当模型,容 纳值对象,并在 Viewer 中把它们设置为 inputElement。要创建 View,请用 createPartControl() 方法实例化 Viewer。清单 1 实 例化一个默认的树查看器;您也可以定制树,并用树对象作为参数,用构造函数 实例化树查看器。