draw2d中的Figure的双击事件是不能通过MouseListener里面的mouseDoubleClicked(MouseEvent me)方法来实现的,而是需要在editorpart里面实现performRequest(Request req)方法来实现,双击事件对应的请求类型为RequestConstants.REQ_OPEN,editorpart有getFigure()方法可以获取对应的figure,从而对figure进行处理。
public void performRequest(Request req) {
if (req.getType().equals(RequestConstants.REQ_OPEN)){
if(getFigure() instanceof TreeBranch){
TreeBranch branch = (TreeBranch) getFigure();
doExpandCollapse(branch);
}
}
}
本文介绍在draw2d框架中如何正确处理Figure的双击事件。不同于常见的MouseListener,正确的做法是在EditorPart中实现performRequest方法,并响应REQ_OPEN类型的请求。文中提供了一个具体的示例,展示了如何对TreeBranch类型的Figure进行展开和折叠操作。
523

被折叠的 条评论
为什么被折叠?



