刚刚接触eclipse的这些概念,着实有点头晕
现在总算对这一部分有了一点具体的认识了,写出来,顺便理一下思路:
emf 用于创建模型
gef是eclipse中表示可编辑图形界面的非常强大的一种工具,把具体的工作划分为MVC三层模式.
所以在通常的开发中,一般是将两种技术合起来用 , 简称GMF .
emf的建模
emf建模可以采用多种方式,也有不少现成的工具,比如:eclipse uml ,下载个人版的就基本够用了,但是不能于小组开发(对cvs有限制),当然要是诚心一点也可以找到破解版.....(呵呵,个人言论,没用过,也不推荐),建模部分唯一要注意的是对其它类的引用(比如说emf.draw2d.Rectangle),其实是可以直接引用的.
三下两下建模完毕了,如果是用 .xsd 格式写的( 辛苦了......) 那么在eclipse装完emf的插件后,新建emf项目,导入xsd文件,就可以生成模型的代码了,要是熟悉了以后,建模还是很方便的.当然 eclipse里也提供rose, ecore, 以及 uml 类图的直接导入.
模型部分通常一定会建立control的监听,我的做法是在写类图的时候让AbstractModel继承一个Adaptor,这样生成后的模型就会自动加入监听了.
emf提供了非常良好的数据的串行化和反串行化,EMF 能够处理多重模型源,例如XML模型,所以指定使用哪些资源来实现(反)串行化你的数据也是很重要的。通常,当你调用 ResourceSet.createResource(URI)方法时,它查询Resource.Factory.Registry来查找一个工厂-该工厂是为该URI而注册的并且使用它来创建一个适当的资源实现。因此,在你(反)串行化你的数据以前,请确保你已注册了适当的资源工厂实现。EMF提供若干Resource.Factory实现:
·对于XML数据,使用org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl。
·对于XMI数据,使用org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl。
·对于Ecore模型,使用org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl。
对于刚入门的人来说(比如说我啦),对调用那些什么工厂之类嫌太麻烦的话,只接用xmlEncoder 进行编码,解码也是一种不错的方式,贴一段代码:
// 保存
XMLEncoder encoder=null;
try {
encoder = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("d://Sample.xml")));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
encoder.writeObject(contentsModel);
encoder.close();
//解析
XMLDecoder decoder = null;
try {
decoder = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("d://Sample.xml")));
contentsModel = (ContentsModel)decoder.readObject();
decoder.close();
} catch (FileNotFoundException e) {
contentsModel = new ContentsModel();
}
最后保存成标准的xml, 它也有自已的dtd; 没写出来,但是解析器都能够识别的
其实还是相当方便的,要记住了:
放入的对象必须是标准的pojo,不然的话.......你自已看看保存的 xml就知道了!
最重要的部分,就应该是把生成的模型,与gef无缝集成了,不过涉及到的东西太多,思路倒是有,具体怎么做......会在下一章节,详细介绍的;
分享到:
相关推荐
在这个“GMF学习资料”中,我们可以通过Mindmap和其他教程来深入理解GMF的关键概念和技术。 1. **GMF概述**: - GMF是EMF的图形化表示层,用于构建基于模型的图形编辑器。 - 它将模型与视图分离,使得开发者可以...
GMF(Generic Model Framework)是Eclipse平台下的一款强大的图形建模框架,它为开发者提供了构建图形用户界面(GUI)的工具,特别是用于创建复杂的图形编辑器和图表应用程序。GMF 1.7是最新的版本,它在前一版本的...
【GMF Tutorial中文版】是一套面向初学者的Eclipse GMF(Graphical Modeling Framework)入门教程。GMF是Eclipse建模项目的一个子项目,它的主要目标是为Eclipse Modeling Framework (EMF)和Graphical Editing ...
7. **学习与应用**:对于想要学习GMF或数据库设计的人员来说,这个例子是一个很好的实践材料。它可以帮助理解GMF的生成过程,同时提供一个实用的数据库建模工具,可以实际操作和修改,从而加深对数据库设计的理解。 ...
【GMF教程】GMF(Graphics Modeling Framework)是Eclipse平台下的一个图形建模框架,用于构建基于模型的图形编辑工具。本教程是基于英文教程的实践与翻译,旨在帮助读者理解并掌握如何使用GMF创建一个Mindmap编辑器...
四、学习GMF的关键概念 1. 模型(Model):存储数据的结构,基于Ecore定义。 2. 图形模型(Diagram Model):表示模型的可视化表示,包括形状、连接线等。 3. 节点模型(Node Model):图形模型中的具体元素,如形状...
【GMF实例解析】 GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor ...这样的实践不仅有助于学习GMF本身,也为理解和应用EMF和GEF提供了宝贵的经验。
《深入解析Eclipse GMF RAR技术》 在软件开发领域,Eclipse是一个广泛使用的集成开发环境(IDE),而GMF(Graphical Modeling Framework)则是Eclipse社区提供的一款强大的图形建模框架。本文将深入探讨GMF中的RAR...
### GEF及GMF入门学习知识点详解 #### 一、GEF与GMF概述 - **GEF**(Graphical Editing Framework)是Eclipse提供的一个用于构建图形编辑器的框架,它提供了一套完整的API来支持图形化界面的创建、编辑和管理。GEF...
通过Taipan实例的深度分析,我们不仅能够深入了解GMF的工作原理,还能学习如何充分利用其功能来创建复杂且用户友好的图形化编辑器。对于那些致力于图形化应用程序开发的工程师而言,掌握GMF无疑是一条通往成功的捷径...
本压缩包文件是GMF的入门资料集合,非常适合初学者进行系统学习和实践。 首先,我们要理解GMF的基本概念。GMF是一个命令行工具,它提供了丰富的地图制作功能,包括投影变换、数据导入导出、符号化、图层管理等。...
### GMF Tourial中文版(一)核心知识点详解 #### 一、引言与背景介绍 **GMF Tourial**是一系列针对...- 对于想要深入研究Eclipse平台下的图形化应用开发的读者来说,**GMF Tourial**无疑是一份宝贵的学习资源。
Eclipse插件GMF,全称为Graphical Modeling Framework,是Eclipse平台上的一个重要组成部分,主要用于构建可视化的建模工具。这个框架提供了一种强大的方式,让开发者能够创建出具有图形界面的模型编辑器,用于设计...
Eclipse是一个著名的开源集成开发环境(IDE),广泛用于Java、C++...通过研究这些资源,开发者可以学习如何利用Eclipse的这些框架创建自己的图形化编辑器,提高开发效率,同时也可以深入理解模型驱动开发的理念和实践。
### 图形建模框架GMF综述 #### 引言 在软件开发过程中,图形建模作为一种有效的沟通手段,帮助工程师们清晰地表达系统结构、流程逻辑和其他关键要素。传统上,开发人员依赖如Rational Rose或Sybase PowerDesigner...
### GMF开发文档知识点概述 #### 一、GMF简介 **GMF (Graphical Modeling Framework)** 是一种基于Eclipse的框架,用于构建图形编辑器。它为开发人员提供了创建和定制图形用户界面(GUI)的功能,使得创建复杂的...
总结来说,这个“一个简单的GMF实例”提供了学习和实践GMF技术的机会,帮助开发者理解如何利用GMF创建图形化编辑工具。通过阅读博文和研究提供的源码,可以深入理解GMF的工作原理,并能够将其应用到自己的项目中。