GEF常见问题1:为图形编辑器设置背景图片

简介:

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”)

本文转自博客园八进制的博客,原文链接:GEF常见问题1:为图形编辑器设置背景图片,如需转载请自行联系原博主。

相关文章
|
6月前
|
机器学习/深度学习 开发工具 对象存储
视觉智能平台常见问题之web端编辑器实现如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
6月前
|
JSON 数据可视化 图形学
Graphix: 轻量级、可插拔、OOP 式图形编辑器开发引擎
A lightweight, pluggable, object-oriented programming (OOP) style graphic editor development engine / 一个轻量级、可插拔、OOP 式图形编辑器开发引擎
130 2
|
6月前
设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
|
6月前
|
Ubuntu Linux
百度搜索:蓝易云【Linux设置默认编辑器(qbit)】
现在,你已经成功将默认编辑器设置为qbit。在终端中输入 `editor`命令或打开文本文件时,系统将使用qbit作为默认编辑器来打开文件。请注意,`update-alternatives`命令还可以用于设置其他默认应用程序。
109 3
|
2月前
|
编译器
设置typora编辑器的宽度
设置typora编辑器的宽度
|
2月前
|
C++
编辑器设置
编辑器设置
|
4月前
|
JSON JavaScript 数据格式
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
|
5月前
|
存储 缓存 开发工具
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
1486 0
|
6月前
设置VSCode编辑器、终端字体为微软雅黑Microsoft Yahei,字号大小为11像素
设置VSCode编辑器、终端字体为微软雅黑Microsoft Yahei,字号大小为11像素
|
6月前
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅