gpt4 book ai didi

java - SelectionListener 无法识别 GEF GraphicalViewer 上的选择更改

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:38 25 4
gpt4 key购买 nike

PostSelectionListener 已添加到当前工作台窗口:

getWorkbenchWindow().getSelectionService().addPostSelectionListener(listener);

但是,即使图形查看器被设置为图形编辑器的站点,上述监听器也无法识别在 GraphicalEditor 中显示的 GraphicalViewer 中的选择更改SelectionProvider:

getSite().setSelectionProvider(getGraphicalViewer());

我直接向图形查看器添加了一个 ISelectionChangedListener ,并且每次选择更改时都会调用它的 selectionChanged 方法(就像它应该的那样)。

有人知道什么可能导致这个问题吗?

另外,

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection()

即使首先提到的选择监听器未注册选择更改,也始终返回正确的选择。

最佳答案

我终于找到了我的问题的解决方案,尽管我不知道为什么它是一个解决方案。GraphicalEditor 类在 createPartControl(Composite) 方法中将查看器设置为站点的选择提供程序。我重写了这个方法来自己配置查看器,但我没有在这里设置选择提供程序,而是稍后在另一个方法中设置。改变这个以某种方式解决了问题。

关于java - SelectionListener 无法识别 GEF GraphicalViewer 上的选择更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25490849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com