2011-08-20 130 views

回答

0
+0

据我所见,这绝对无助于解决问题。每个“对象”都有一个EditPart,并且使用这些EditParts完成与对象的交互。您的答案包含喜欢编辑器本身的API。因此,即使可能发生双击并对此作出反应,也不是您绕过GEF框架的首选方式。如果我错了,请纠正我。 – Veger

17

在 “盒子” 为其中的GraphicalEditPart你想添加监听器,你必须重写performRequest(Request req)方法。当框架确定双击该零件的图形时,它会调用此方法,请求具有req.getType()==RequestConstants.REQ_OPEN。你可以从这里接管。 完整的代码来测试他的作品:

@Override 
public void performRequest(Request req) { 
    if(req.getType() == RequestConstants.REQ_OPEN) { 
     System.out.println("requested double-click."); 
    } 
} 

希望这样做的伎俩。

+0

非常感谢,它的作品:) – jean24

+1

所以请将答案标记为正确 – vainolo

+0

@vainolo - 谢谢。有帮助。 :) – Pushkar

0
viewer.getControl().addListener(SWT.MouseDoubleClick, new Listener() { 

     @Override 
     public void handleEvent(Event event) { 
     //write the double click action 
    }); 
相关问题