正 文

利用视图链接使Eclipse应用程序更丰富


www.7dspace.com  更新日期:2005-12-31 7:08:17  七度空间


  使用 IAdaptable 接口

  实现 IAdaptable 接口的类能够动态地返回某些类型的适配器,然后可以使用这些适配器获取更多信息。如果查看器中的选择对象实现了 IAdaptable 接口,那么根据它们可以返回的适配器类型,可以有效地获取更多信息或相关信息。org.eclipse.core.runtime.IAdaptable 接口如下所示。

public void object getAdapter(Class adapter);

  显然,调用者应该知道它期望选择返回的适配器接口类型。考虑一个 JFace TreeViewer,它在一个单层的树中显示城市。代表城市的对象是 CityClass 类型的。CityClass 对象应该包含关于此城市的基本信息,并只在需要时返回详细信息。在清单 3 中要注意,CityClass 支持的适配器类型使调用者能够在需要时获得更多信息。

  清单 3. JFace TreeViewer 中的 CityClass

class CityClass implements IAdaptable {
 private String cityName;

 public CityClass(String name) {
  this.name = name;
 }
 public String getName() {
  return name;
 }
 public CityClass getParent() {
  return parent;
 }
 public String toString() {
  return getName();
 }
 public Object getAdapter(Class key) {
  if (key.getName().equals("ITransportationInfo"))
   return CityPlugin.getInstance().getTransportAdapter();
  else (key.getName().equals("IPlacesInfo"))
   return CityPlugin.getInstance().getPlacesAdapter();
  return null;
 }
}

  熟悉 Eclipse IDE 工作台的开发人员都了解 Outline 视图,这个视图提供了编辑器中打开的文件的结构化视图。这个 Outline 视图展示了 IAdaptable 接口如何与某些事件类型结合使用,从而有效地根据其他视图的内容对视图进行初始化。编辑器必须为用户打开的文件创建一个 Content Outline 页面。Content Outline 页面符合 IContentOutlinePage 接口。编辑器还必须实现 IAdaptable 接口,这样就能够向编辑器查询 IContentOutlinePage 类型的适配器。使用这个适配器来获取和显示文件的大纲信息。

  IAdaptable 接口的另一个例子是 Properties 视图。Properties 视图跟踪对活动部分的选择,并调用当前选择对象上的 getAdapter 方法。查询的适配器类型是 IPropertySource。然后,Properties 视图使用 IPropertySource 适配器来获取要显示的信息。

  在这些视图链接例子中,应用程序在接到 Selection Changed 或 Part Activation 通知时,通过 IAdaptable 获取信息。因此,如果选择对象实现了 IAdaptable,那么与从选择对象本身获取的信息量相比,用户可以通过适配器获得多得多的信息。

4页,页码:[1] [2] [3] [4] 

上一篇:Windows 2003系统负载平衡策略全攻略
下一篇:节日的焰火已燃起来啦:PS绘制焰火特效
作者:Chinmay Pandit  来源:IBM ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐