GEF的RootEditPart对应的Figure是一个由多个Layer组成的 LayeredPane,每个Layer负责包含不同类型的图形元素,如节点、连接、网格线等等。所以要让图形编辑器显示一个图片作为背景,可以在它们其中一个层里绘制这个图片,也可以添加一个层专门放置背景图片。我推荐使用后者,以下代码是在前面的GefPractice项目基础上做了简单修改得到的:
<!---->static Image BG_IMAGE=new Image(null,"c:\\bg.jpg");
protected void configureGraphicalViewer() {
super.configureGraphicalViewer();
getGraphicalViewer().setRootEditPart(new ScalableFreeformRootEditPart() {
//覆盖ScalableFreeformRootEditPart的createlayers方法以便增加自己的层
protected void createLayers(LayeredPane layeredPane) {
Layer layer = new FreeformLayer() {
protected void paintFigure(Graphics graphics) {
super.paintFigure(graphics);
//在层上绘制图片,也可以绘制其他图形作为背景,GEF的网格线就是一例
graphics.drawImage(BG_IMAGE,0,0);
}
};
layeredPane.add(layer);
super.createLayers(layeredPane);
}
});
getGraphicalViewer().setEditPartFactory(new PartFactory());
}
这样得到的背景图片只显示编辑器可见区域的部分,也就是会随滚动条滚动,见下图。
具有背景图片的图形编辑器
工程下载(背景图片名为“c:\bg.jpg”)
分享到:
相关推荐
**Eclipse图形化编辑框架(GEF)** Eclipse图形化编辑框架(GEF)是Eclipse平台中的一个重要组件,主要用于构建可自定义的图形编辑工具。它为开发人员提供了一套全面的API和设计模式,使得创建复杂的图形用户界面...
GEF 广泛应用于图形化的流程设计器、UML 类图编辑器等领域,典型的应用包括: * 图形化流程设计器 * UML 类图编辑器 * 图形化编辑模型 5.GEF 的优点: GEF 的优点包括: * 提升用户体验 * 功能强大 * 专业的感觉...
Java GEF(Graphical Editing Framework)开发实例是一个深入理解并应用GEF框架的优秀实践案例。GEF是Eclipse平台上...通过实际操作和调试,可以加深对GEF框架的理解,并为将来更复杂的图形编辑器开发打下坚实基础。
**GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台中被广泛使用。标题中的“GEF-runtime-3.5.0.zip”是一个包含GEF运行时环境的压缩包,适用于开发和运行基于GEF的...
2. **在ViewPart中使用GEF**:通常情况下,GEF主要用于创建图形编辑器(Editor),但本示例特别指出在非Editor的ViewPart中使用GEF。ViewPart是Eclipse RCP(Rich Client Platform)中的一个组件,用于显示各种视图...
**GEF**,全称为**Graphical Editing Framework**,是Eclipse平台上用于创建复杂图形编辑器的框架。它提供了一套完整的工具集,使开发者能够构建具有图形化用户界面的应用程序,特别适用于创建基于模型的编辑器。 ...
- **Step 1-3**:基础概念和环境设置,讲解如何创建第一个GEF编辑器,包括模型定义、EditPart实现以及与Eclipse IDE的集成。 - **Step 4-5**:深入探讨模型-视图映射,包括图形元素的布局和连接线的绘制。 - **Step ...
总的来说,gef转折线的实现涉及PathFigure和Segment的组合使用,而GEF的API为开发者提供了丰富的工具和接口,使得构建交互式图形编辑器变得简单。通过熟练掌握这些知识,开发者可以轻松创建出具有复杂图形交互功能的...
GEF是Java平台上的一个开源框架,主要用于构建图形用户界面(GUI),特别是用于创建可交互的、基于图的编辑器。这个框架提供了一整套工具,帮助开发者实现图形化的数据模型编辑,适用于各种应用程序,如建模工具、...
Eclipse GEF(Graphical Editing Framework)是Eclipse平台中的一个核心组件,用于构建图形化编辑器和可视化工具。它为开发者提供了一套全面的API,帮助创建可扩展、交互式的图形用户界面,特别适用于开发模型驱动的...
IBM GEF(Graphical Editing Framework)是Eclipse平台上的一个开源图形编辑框架,专为构建图形化用户界面和图形编辑工具而设计。它提供了一个交互层,用于处理用户与图形视图之间的交互,实现了模型到视图的映射,...
- **GEF (Graphical Editing Framework)**:GEF是Eclipse平台提供的一个用于构建图形编辑器的框架,能够帮助开发者快速构建功能丰富的图形用户界面。适用于创建各种类型的图形编辑器,如流程图编辑器、UML建模工具等...
GEF的核心设计理念是将图形编辑器的实现分解为一系列可重用的组件,这些组件可以组合起来创建各种定制化的图形编辑环境。这个框架的主要组成部分包括: 1. **Model**:模型是编辑器的数据基础,定义了图形元素的...
它为开发者提供了创建可定制的、基于模型的图形编辑器所需的各种组件和服务。GEF自1999年诞生以来,经历了多次版本迭代,其中3.10版本是一个重要的里程碑,引入了许多新特性和改进。 **二、Eclipse插件开发背景** ...
GEF(Graphical Editing Framework)是Eclipse平台下的一款用于构建图形化编辑器的框架,它为开发者提供了一套全面的工具和API,使得创建复杂的图形用户界面(GUI)变得简单。GEF主要用于开发基于模型的图形编辑器,...
GEF,全称为Graphical Editing Framework,是Eclipse平台上用于构建图形化编辑器的一种框架。它为开发人员提供了丰富的工具,可以方便地创建出复杂的图形用户界面,尤其是用于创建模型驱动的图形编辑器。在本教程中...
GEF(Graphical Editing Framework)是Eclipse平台下的一个图形编辑框架,它为开发者提供了一套构建图形化用户界面(GUI)的工具,特别是用于创建复杂的图形编辑器。GEF主要用于开发基于模型的图形编辑器,它将图形...
5. **实现编辑功能**:为图形界面添加编辑功能,如拖拽、缩放等。 6. **数据绑定**:将图形元素与数据模型进行绑定,使图形界面能够实时更新数据状态。 7. **测试与调试**:完成开发后进行测试,确保应用程序能够...