我有一个 AbstractDecolatedTextEditor
,它有一个包含 AbstractGraphicalEditPart
组件的选项卡。
我想要
1) 选择单个组件。如果我选择一个组件,则未选择其他组件
2)当我选择一个组件时,我想触发 Eclipse 的选择监听器。因为这个监听器会改变Eclipse的属性 View 。
我尝试了 2 号代码,但不起作用。
((IFigure) componentFigure).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
ComponentEditPart.this.setSelected(SELECTED);
fireSelectionChanged();
super.mousePressed(arg0);
}
}
最佳答案
GEF 中有一个选择监听器,但它位于 EditPartViewer 上。将 ISelectionChangedListener 添加到图形查看器。每个编辑部分都有一个方法#getViewer()(即AbstractGraphicalEditPart#getViewer())。
graphicalEditPart.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
// TODO: implement it to handle selection change
}
}};
关于java - 抽象图形编辑部分的单选和火选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29167352/