xiaoxiaoleemin

天道酬勤,小小加油
posts - 19, comments - 12, trackbacks - 0, articles - 0

2007年3月3日

posted @ 2008-11-18 15:17 xiaoxiaoleemin 阅读(2511) | 评论 (0)编辑 收藏

posted @ 2008-10-16 13:53 xiaoxiaoleemin 阅读(833) | 评论 (0)编辑 收藏

posted @ 2008-04-03 12:53 xiaoxiaoleemin 阅读(696) | 评论 (0)编辑 收藏

     摘要: 要让编辑器生动起来,GMF框架提供了更简单的方法,有些特性甚至不用修改代码只通过设置一下gmfgraph中某些元素的属性就可以实现。这一点,比GEF简单的多。  阅读全文

posted @ 2008-04-01 23:05 xiaoxiaoleemin 阅读(707) | 评论 (0)编辑 收藏

     摘要: 在Java中用JDOM才操作xml文件很方便,需要的代码量也比其它XML解析器要少的多。下面用一个简单的例子来说明JDOM读写xml的最基本的步骤。  阅读全文

posted @ 2007-05-09 18:16 xiaoxiaoleemin 阅读(1629) | 评论 (1)编辑 收藏

     摘要: 这里介绍基于Type的连接的建立方法,仍然用上一篇基于Reference的连接中用到的例子School,有老师类和学生类,同时老师能够指导多名学生。这种指导关系在GMF编辑器中用连接来表示,基于Type的连接就是在ecore模型中为该连接创建一个类TeacherToStudent,ecore模型对应的ecore_diagram图形如下所示:
  阅读全文

posted @ 2007-05-07 14:42 xiaoxiaoleemin 阅读(577) | 评论 (0)编辑 收藏

     摘要: 我习惯于直接用ECore Editor建立ecore模型,如果装了GMF插件的话,在ecore文件上点击鼠标右键,通过菜单“Initialize ecore-diagram diagram file”可以生成类似类图的表示,这样可以从整体上看模型。而且在建模的过程中可以随时"Validate"以检查当前存在的错误。以下是一些常见的问题:  阅读全文

posted @ 2007-05-07 14:10 xiaoxiaoleemin 阅读(977) | 评论 (1)编辑 收藏

     摘要: GMF中的Link有两个,分别是基于Type的和基于Reference的。对于前者,在ecore模型中有一个类对应这个连接,创建一个连接即创建了该类的一个实例,试想,如果一个模型比较复杂,有很多连接时,这种方法要在模型中要为连接建立很多与业务无关的类,使得模型非常复杂;对于后者,没有必要为每个连接在ecore中建立一个类,而是设置该连接对应的Reference即可。下面用一个school的模型来说明基于Reference的连接的建立方法,这个模型非常简单,如下图  阅读全文

posted @ 2007-05-06 23:15 xiaoxiaoleemin 阅读(1171) | 评论 (4)编辑 收藏

     摘要: GMF是Eclipse的一个插件,如同其它插件一样,它首先需要安装在相应版本的Eclipse上。另外,它还需要其它几个插件  阅读全文

posted @ 2007-05-06 21:08 xiaoxiaoleemin 阅读(1504) | 评论 (0)编辑 收藏

     摘要: 上个帖子介绍了如何显示PropertySheet视图,这里继续介绍如何显示Outline视图,还是只关心与显示大纲视图相关的代码:
public class MySchoolEditor extends EditorPart implements ISelectionListener {
...
protected IContentOutlinePage contentOutlinePage;  阅读全文

posted @ 2007-05-06 18:03 xiaoxiaoleemin 阅读(762) | 评论 (0)编辑 收藏

     摘要: 前面的几篇是读了《EMF:A Developer's Guide》一书前三章的读书笔记,我觉得这三章的内容是最重要的,介绍了EMF Framework的一些设计、结构以及实现的问题。但是这些只是一些原理性的东西,要熟练掌握EMF的方法是在项目中应用它,我们可以从修改EMF生成的代码入手。EMF生成的编辑器是MultiPageEditor,比较复杂,我们可以参考它自己写一个普通的Editor,在这个过程中可以熟悉哪些代码是用于实现哪些功能的。  阅读全文

posted @ 2007-05-06 17:24 xiaoxiaoleemin 阅读(2042) | 评论 (2)编辑 收藏

     摘要: 上一部分中,我们看到了如何通过content和label provider来显示EMF模型,这一部分介绍如何修改、编辑EMF模型。EMF.Edit支持基于Command的模型编辑方式,可以自动的undo和redo。EMF.Edit的Command Framework可以分为两部分,第一部分是common command framework,其中定义了一些基本的命令接口,实现了例如basic command stack,compound command等,虽然这些命令主要用于EMF.Edit,但是实际上可以独立于EMF.Edit使用;第二部分是EMF.Edit 命令,是指一些专门编辑EObject的命令。  阅读全文

posted @ 2007-05-05 20:44 xiaoxiaoleemin 阅读(760) | 评论 (0)编辑 收藏

     摘要: 本书的第二章介绍了EMF产生的Model部分的代码,你可以使用EMF Edit Framework来为model构建功能强大的视图和编辑器。在EMF为你生成的编辑器里,可以编辑(复制,粘贴,拖拽等)、显示model,还可以无限的redo/undo。如果这个编辑器不能完全满足你的需求,你可以在此基础上做一些修改,肯定比从头开始写节约时间。
Eclipse通过JFace中的一些Viewer来显示结构化的数据,这些Viewer不直接从model中获取要显示的数据,而是通过ContentProvider和LabelProvider来取得要显示的内容、文本以及图标等信息。  阅读全文

posted @ 2007-05-05 18:08 xiaoxiaoleemin 阅读(915) | 评论 (0)编辑 收藏

     摘要: EMF Framework提供了模型变化通知、持久化支持、操纵EMF对象的反射API等功能来帮助用户提高工作效率,下面分别详细介绍一下。
1.Notification and Adapter
EMF生成的每一个类还是一个Notifier类型,因此当它的属性或者引用改变的时候可以发出通知。这是一个很重要的性质,通过监听EObject的变化可以及时地更新视图或者与之相关联的对象。EMF中的Notification Observer(Listener)叫做Adapter,它除了监听事件以外,还可以扩展其它行为(extend behavior)等。  阅读全文

posted @ 2007-05-04 21:44 xiaoxiaoleemin 阅读(908) | 评论 (1)编辑 收藏

     摘要: 1.EMF的元模型Ecore
我们通常所说的模型(Model)是指应用程序更高层次的描述,通过它可以生成部分甚至全部的实现代码,可以由UML等标准的方法来定义。EMF(Eclipse Modeling Framework)中的模型层次没有这么高,它和实现直接关联。
EMF是一个可以产生代码的框架,你可以通过UML类图、XML Schema、Java Interface等任何一种方式来定义EMF模型,而且可以由一种方式生成另外其它方式,在这里EMF 模型就是把这三者结合在一起的更高层次的一种表示。EMF模型本质上是UML类图的子集,它是关于应用的类和数据的简单模型。  阅读全文

posted @ 2007-05-04 19:13 xiaoxiaoleemin 阅读(1007) | 评论 (0)编辑 收藏

     摘要: Eclipse是一个功能很强大的开发工具,如果能熟练使用快捷键,会大大提高效率。

F2: 类或者方法,查看注释。
F3: 类或者方法,查看源码(同:Ctrl+鼠标左键)
F4: 类,查看在类库中的继承层次。
F5:调试时单步跳入。
F6:调试时单步跳过。
F8:调到下一个断点,如果没有,则执行完毕。
F11:快速运行最新运行过的程序(调试状态)。  阅读全文

posted @ 2007-05-02 21:17 xiaoxiaoleemin 阅读(1439) | 评论 (3)编辑 收藏

     摘要: JDOM是一个开源的专为Java语言提供XML解析功能的项目,项目自2000年春季启动,目前其最新版本是1.0,并且被Java Community Process接受为JSR102,当时Sun给予JDOM的肯定评价是:In general we tend to prefer to avoid adding new APIs to the Java platform which replicate the functionality of existing APIs. However, JDOM does appear to be significantly easier to use than the earlier APIs, so we believe it will be a useful addition to the platform.可见,JDOM确实是Java语言处理XML的方便工具。
  阅读全文

posted @ 2007-04-20 23:44 xiaoxiaoleemin 阅读(520) | 评论 (0)编辑 收藏

     摘要: Eclipse是一个开源软件项目,它的目标是提供最好的工具集成平台。Eclipse软件具有Common Public License,就是说你可以使用、修改其中的代码,可以重新发布为free版本,也可以作为私有项目的一部分。
Eclipse项目分为三个子项目:Eclipse项目,Tools项目和Technology 项目。  阅读全文

posted @ 2007-03-03 13:26 xiaoxiaoleemin 阅读(724) | 评论 (0)编辑 收藏

     摘要: Abstract是Java中的一个重要关键字,可以用来修饰一个类或者一个方法。修饰一个方法时,表示该方法只有特征签名(signature),没有具体实现,而是把具体实现留给继承该类的子类。一个类中只要有一个abstract方法,那么这个类就要被声明为abstract,但是其中可以有非 abstract方法。
abstract类可以使得类的设计者能够创建方法的原型,而真正的实现留给使用这个类的人。  阅读全文

posted @ 2007-03-03 13:22 xiaoxiaoleemin 阅读(546) | 评论 (0)编辑 收藏