快速业务通道

用eJFace开发嵌入式应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
用在嵌入式设备上的库。表 2 汇总了 eJFace 与 JFace 之间的主要差异。

表 2. eJFace 与 JFace 的差异

eJFace 与 JFace 比较
从 JFace 中删除的包 org.eclipse.jface.dialogs org.eclipse.jface.operation (eJFace 将只提供 IRunnableWithProgress 接口) org.eclipse.jface.window org.eclipse.jface.wizard
JFace 中减少的包 org.eclipse.jface.action org.eclipse.jface.preference (eJFace 将只提供 PreferencePage 类) org.eclipse.jface.viewers (eJFace 将只提供 TreeViewer 和 TableViewer)
未更改的 包 org.eclipse.jface.resource org.eclipse.jface.util

您可能想知道为什么把 jface.wizard、jface.dialogs 和 jface.window 从 JFace 中删除。原因有两个 :首先,现有对话框、向导和窗口代码都是面向桌面的,并且需要进行大量的修 改工作才能由移动设备使用。例如,手机中的对话框通常不应使用按钮,因为手 机可能没有光标和鼠标。其次,所选包都是应用程序可以轻松实现的便利函数, 而不是复杂代码或通用代码。

您可能还希望了解 eJFace 代码不在 eSWT Mobile Extensions 中使用命令类的原因。我们不希望让 eJFace 依赖于 Mobile Extensions,因为它应该是 eRCP 中的可选组件。此外,Mobile Extensions 将 提供 QueryDialog 和 TimedMessageBox,用于把一些 JFace 对话框替代为相应 的移动版本。

对 org.eclipse.jface.action 的更改要求提供说明。 JFace 仅支持向状态行中添加条目。由于 eWorkbench 不提供常见的菜单栏函数 ,因此将从 eJFace 中删除大多数操作类。不过,将在 eSWT 的 Mobile Extensions 中把操作条目替换为命令类。

eJFace org.eclipse.jface.viewers 演示应用程序

eJFace 只提供 TreeViewer 和 TableViewer。

TreeViewer

要设计 TreeViewer 演示应用程序 ,您必须创建节点类作为数据模型。在这里,我们将创建两个名为 NBATeamNode 和 NBAPlayer 的节点类。接下来,您必须定义节点之间的关系。例如, NBATeamNode 可以添加其他 NBATeamNode 或 NBAPlayer 实例。您必须在 NBATeamNode 中定义两个单独的 ArrayLists 才能添加。

清单 1. 定义节 点类及其父子节点关系

public class NBATeamNode {   private String name;  private ArrayList teams  = new  ArrayList();  private ArrayList players = new ArrayList ();  private NBATeamNode parent;  public  NBATeamNode(String n){   name = n;  }  protected  Object getParent(){   return parent;  }  public  NBATeamNode addTeam(NBATeamNode child){   teams.add (child);   child.parent = this;   return this;   }  public NBATeamNode addPlayer(NBAPlayer child){    players.add(child);   child.parent = this;   return  this;  }  public ArrayList getteams(){   return  teams;  }  public ArrayList getplayers(){   return  players;  }  public String toString(){   return  name;  } public class NBAPlayer {  private  String name;  NBATeamNode parent;  public  NBAPlayer(String n){   name = n;  }  protected  Object getParent(){   return parent;  }  public  String toString(){   return name;  }

用eJFace开发嵌

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号