1

在 GEF 图中选择一个图形时,我需要触发一个方法。当我选择一个图形时,addSelectionChangedListener 效果很好,但是如果我再次单击同一个图形(“取消选择”),侦听器不会触发。

我该如何解决?

final GraphicalViewer viewer = new ScrollingGraphicalViewer();
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
     public void selectionChanged(SelectionChangedEvent event) {
    //Fired when figure is selected, but not when same figure is selected again

     }
});
4

1 回答 1

0

我不认为您可以通过选择机制为 GEF 图实现切换行为。选择更改selectionChanged时会触发该事件,因此在同一个图形上单击两次不会成功。

考虑到选择另一个数字并可以从SelectionChangedEvent传递的对象中检索该元素时,也许需要采取不同的方法。

此外,您应该只关心用户在图表中选择一个图形,而不是与任何其他工作台部件不同的元素。

于 2012-11-09T18:54:43.433 回答