- 浏览: 979763 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
运乃强谦:
老哥,你确定这个wsdl 地址 可以访问?
[CXF] Server与Client实现方式五:HTTPS -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
[CXF] Server与Client实现方式四:JMS -
dengmiao:
JAXB学习三 (验证) -
panamera:
你好。可以提供maven pom配置是怎么配置的?不知道你使用 ...
[CXF] Server与Client实现方式四:JMS -
u010221220:
请问楼主一二三部分的代码都应该放在哪个函数体中。
使用JDI监听Java程序运行
一、新建模型结点
installEditPolicy(EditPolicy.CONTAINER_ROLE, new DiagramContainerEditPolicy());
public class DiagramContainerEditPolicy extends ContainerEditPolicy {
@Override
protected Command getCreateCommand(CreateRequest request) {
AddHelloWorldCommand command = new AddHelloWorldCommand(
(DiagramRootContent) getHost().getModel(),
(HelloWorldModel) request.getNewObject());
return command;
}
}
public static final String P_CHILDREN = "p_children";
public void addChild(HelloWorldModel child) {
if (!children.contains(child)) {
children.add(child);
firePropertyChange(P_CHILDREN, null, child);
}
}
public void removeChild(HelloWorldModel child) {
if (children.contains(child)) {
children.remove(child);
firePropertyChange(P_CHILDREN, child, null);
}
}
public void propertyChange(PropertyChangeEvent evt) {
if(evt.getPropertyName().equals(DiagramRootContent.P_CHILDREN)){
refreshChildren();
}
}
@Override
public void activate() {
super.activate();
((DiagramRootContent)getModel()).addPropertyChangeListener(this);
}
@Override
public void deactivate() {
((DiagramRootContent)getModel()).removePropertyChangeListener(this);
super.deactivate();
}
图一
呵呵,图已经被成功加上。只是有一点:每次都加在重一位置。回想一下:我们在建一个新的模型时,没有给他设置一个位置,因此用的都是我们缺省定义的位置,所以每次都被加到同一位置上去了。
这个修改很容易,就是修改DiagramContainerEditPolicy的getCreateCommand()方法,让它再传一个位置参数给AddHelloWorldCommand,修改后最终的代码如下:
public class DiagramContainerEditPolicy extends ContainerEditPolicy {
@Override
protected Command getCreateCommand(CreateRequest request) {
AddHelloWorldCommand command = new AddHelloWorldCommand(
(DiagramRootContent) getHost().getModel(),
(HelloWorldModel) request.getNewObject());
command.setLocation(request.getLocation());
return command;
}
}
和:
public class AddHelloWorldCommand extends Command {
private DiagramRootContent content;
private HelloWorldModel model;
public AddHelloWorldCommand(DiagramRootContent content,
HelloWorldModel model) {
super();
this.content = content;
this.model = model;
}
@Override
public void execute() {
content.addChild(model);
}
@Override
public void undo() {
content.removeChild(model);
}
public void setLocation(Point location) {
Rectangle constraints = model.getConstraints();
constraints.setLocation(location);
}
}
OK,现在再试一下:
图二
现在图形被加到了正确的位置上了。
发表评论
-
GEF中用鼠标移动画布
2011-12-27 13:37 1327第一步 增加Palette项: moveTool = n ... -
Draw2d的ScrollPane的使用
2011-04-19 15:05 1588ScrollPane scrollpane = ne ... -
GEF的动态变化二
2011-04-13 10:47 1299之前有一篇文件介绍怎么实现GEF Editor中的图元的渐近、 ... -
(译)Eclipse Zest二
2011-01-07 15:41 19175. Zest和JFace的例子 5.1 创建工程 创建一 ... -
(译)Eclipse Zest一
2011-01-07 15:14 28401. Eclipse Zest 1.1 概述 Eclips ... -
增加GEF的动态性
2011-01-06 10:25 1756在一个GEF应用中,最常的操作是移位和缩放。移位和缩放实现本身 ... -
GEF中Palette项的属性页显示
2010-11-04 14:25 1952一般来说我们只需要在GraphicalViewer部分显示在P ... -
定制GEF的Palette
2009-11-23 16:35 2502用GEF框架实现一个Editor时,会有一个默认的palett ... -
GEF增加之连接助手二
2009-10-29 16:01 1009上一篇说过怎么实现悬浮连接助手。一直想要怎么实现悬浮连接助手。 ... -
GEF功能增强之创建助手
2009-09-28 09:09 1675用过GMF就知道,GMF默认生成的editor有一个悬浮的创建 ... -
GEF功能增强之连接助手
2009-09-10 14:45 1780GEF图形编辑器中,通常 ... -
GEF中实现“拷贝为图片”
2009-09-06 09:13 1320在一个GEF的编辑器中,编辑器上是一个个的Figure,从外观 ... -
GEF中扩大、缩小时处理编辑行为
2008-12-30 10:54 1498我们为GEF应用提供了ZoomIn和ZoomOut功能之后,在 ... -
改变GEF的一些默认行为
2008-12-29 14:12 1390一、改变Layer GEF中会根据editpart的类 ... -
GEF中一个模型的多层图的问题
2008-12-26 16:00 1614一般来说,我们在做GEF的时候,通常是一个模型对应一个图,这个 ... -
GEF中增加ContextMenu的支持
2008-12-19 22:32 2609GEF中,增加对EditPart的右键菜单的支持是很普遍的一 ... -
增加Palette的拖放支持
2008-12-19 14:08 1937默认情况下,GEF中要创建一个新的结点都是通点在Palette ... -
给GEF拖放功能
2008-07-17 10:26 1862我们知道SWT支持Native的拖放。GEF使用SWT的拖放来 ... -
修改GEF中Connection的端点
2008-07-14 16:09 1794GEF中,选中一条连接线,默认的端点是两个小黑框,如下: ... -
GEF中导视图的使用
2008-07-10 17:01 2151有时增加一个导视图能给用户很大的方便性,例如在outline视 ...
相关推荐
GEF理解之第一部分,学习gef必备文档资料啊,值得下载
GEF理解之第三部分,学习gef必备文档资料啊,值得下载
GEF理解之第二部分,学习gef必备文档资料啊,值得下载
GEF入门必读 GEF入门系列 GEF-whole-upload 感谢八进制
GEF 入门系列 GEF
Eclipse插件开发:GEF入门系列宝典
GEF入门系列,八进制 的GEF入门系列教程, 由社区经作者授权后整理而成GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很...
由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设计器、UML类图编辑器等等。
适合gef初学者学习,本人认为是一个很不错的学习材料
emf介绍系列和gef入门介绍打包,适合新人快速掌握。
GEF是公司内部资料,在此提供给大家学习参考。
Eclipse插件开发--gef开发指南与入门系列宝典打包下载。
RCP GEF 入门教程,从法语班翻译过来的,自认为是比较全面细致的GEF入门教程,比八进制的《GEF入门系列》要浅显易懂。
我下的资源的打包,希望有帮助,包括:GEF_Tutorial,GEF实例,入门教程,GEF-whole-upload
资源就不用多介绍了,想下的都知道是什么东西。。。 这是非加密版,所以你可以随意加注释,作笔记
GEF eclipse 插件
GEF简易教程-学习GEF的入门教程,不错的gef入门教程
gef 绘图折线的实现方法。 gef API chm 格式
eclipse GEF-ALL-3.4.2(1)