Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何允许视图侦听其他视图的选择?_Java_Eclipse_Eclipse Plugin_Eclipse Gmf - Fatal编程技术网

Java 如何允许视图侦听其他视图的选择?

Java 如何允许视图侦听其他视图的选择?,java,eclipse,eclipse-plugin,eclipse-gmf,Java,Eclipse,Eclipse Plugin,Eclipse Gmf,我正在开发一个带有EMF和GMF的插件。 它有两个视图,我希望在第一个视图中选择一个元素时,第二个元素被刷新 实际上我使用了这个命令: getViewSite().getPage().addSelectionListener(this); 但它只允许我在编辑器中收听选择 我怎样才能修好它? 我如何确保在加载插件时刷新视图? 当前,当我启动插件时,它是空的,只要我点击编辑器,它就会被刷新 谢谢, 卢卡你可以: 或 侦听特定视图/编辑器中的选择更改。我想在第二个方法中,partId是我要观察的视图

我正在开发一个带有EMF和GMF的插件。 它有两个视图,我希望在第一个视图中选择一个元素时,第二个元素被刷新

实际上我使用了这个命令:

getViewSite().getPage().addSelectionListener(this);
但它只允许我在编辑器中收听选择

我怎样才能修好它? 我如何确保在加载插件时刷新视图? 当前,当我启动插件时,它是空的,只要我点击编辑器,它就会被刷新

谢谢, 卢卡你可以:


侦听特定视图/编辑器中的选择更改。

我想在第二个方法中,partId是我要观察的视图,对吗?嗨,我终于有时间测试您了。它不起作用。我是否必须添加作为选择提供程序正在侦听的视图?目前我是这样做的:
getSite().setSelectionProvider(查看器);其中
viewer`是
tableViewer
@lucaghera:“我必须添加我作为选择提供程序正在收听的视图吗?”是的,并且以您给出的方式。嗯……那么为什么它不起作用呢?我使用了您建议的方法:
getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(InstanceView.ID,this)实际上它是有效的。这是一个我没有移除的旧控件。好的是,它不使用您建议的方法就可以工作。事实上,我在问题中提出的方法已经足够了:D谢谢你给我的时间!
getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this)
getViewSite().getWorkbenchWindow().getSelectionService().addSelectionListener(partId, this)