滚动图形查看器 选择和取消选择侦听器



当在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
     }
});

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

考虑到当选择另一个图形时取消选择图形,并且您可以从传入的SelectionChangedEvent对象中检索该元素,可能需要一种不同的方法。

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

最新更新