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:为图形编辑器设置背景图片,如需转载请自行联系原博主。

相关文章
|
3月前
|
JSON 数据可视化 图形学
Graphix: 轻量级、可插拔、OOP 式图形编辑器开发引擎
A lightweight, pluggable, object-oriented programming (OOP) style graphic editor development engine / 一个轻量级、可插拔、OOP 式图形编辑器开发引擎
59 2
|
26天前
设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
|
6月前
|
开发者
Webstorm编辑器设置背景和字号
Webstorm编辑器设置背景和字号
148 0
|
4月前
|
Ubuntu Linux
百度搜索:蓝易云【Linux设置默认编辑器(qbit)】
现在,你已经成功将默认编辑器设置为qbit。在终端中输入 `editor`命令或打开文本文件时,系统将使用qbit作为默认编辑器来打开文件。请注意,`update-alternatives`命令还可以用于设置其他默认应用程序。
78 3
|
26天前
设置VSCode编辑器、终端字体为微软雅黑Microsoft Yahei,字号大小为11像素
设置VSCode编辑器、终端字体为微软雅黑Microsoft Yahei,字号大小为11像素
|
26天前
设置WebStorm用Ctrl+鼠标滚轮上、下调整编辑器代码字体大小
设置WebStorm用Ctrl+鼠标滚轮上、下调整编辑器代码字体大小
|
26天前
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
|
5月前
|
JavaScript
Vue 监听路由变化的三种方式
Vue 监听路由变化的三种方式
|
5月前
关于一个非常nice的原生UI框架——layerUI
关于一个非常nice的原生UI框架——layerUI
关于一个非常nice的原生UI框架——layerUI
|
5月前
|
数据可视化 Linux 开发工具
【Linux】开发工具——vim多模式编辑器的入土&&设置sudoers白名单
通过前面几篇文章的学习我们已经对Linux操作系统算是比较了解了,可以熟练的使用一些指令,我们就要进入Linux下的系统编程。在Windows系统下可以安装各种集成开发环境像Dev-C++、VC6.0、VS等等,在这些软件中我们不仅可以写代码,软件也可以完成编译、链接,甚至是调试等一系列功能。而在我们Linux系统中编写代码、编译代码、调试代码可以说都是分开的,使用各种工具完成。例如:编写代码使用vim多功能编辑器、编译代码使用gcc/g++编译器、调试代码使用gdp调试器。今天给大家带来的是vim多功能编辑器的使用。