我正在使用GEF。我有一个图形编辑器,实现了一些“盒子”。现在,我想为每个框添加一个双击监听器(Rectangle)。 我试图向GraphicalViewer添加一个监听器,但它没有用。
答案 0 :(得分: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.");
}
}
希望这可以解决问题。
答案 1 :(得分:0)
我自己并不熟悉GEF,但我在文档中发现了这一点:
答案 2 :(得分:0)
viewer.getControl().addListener(SWT.MouseDoubleClick, new Listener() {
@Override
public void handleEvent(Event event) {
//write the double click action
});