2011-08-20 120 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 
    }); 
相關問題