我用 prefuse 写了一个插件集成在 View (org.eclipse.ui.views) 中。作为第二步,我编写了一个命令菜单并将其添加到 Package Explorer 的上下文菜单中。当我右键单击资源管理器包 View 中的任何包时,它会显示菜单。当我点击它时,命令的 Handler 类将包中的所有 Java 类路径保存到一个列表中。 我现在的问题是,如何将更新后的 List 传递到初始化我的 prefuse 类的 View 。 我忘了说,这是我第一次编写 eclipse 插件。可能有更好的方法来做到这一点。
谢谢
最佳答案
你的插件的 plugin.xml 可能定义了两件事:
- 包资源管理器的上下文菜单贡献
- 应该接收列表的 View
当从包资源管理器调用您的菜单贡献时,您的 View 可能已经打开,也可能没有。如果它已经打开,您希望将数据从菜单命令发送到 View ,因此您需要获得对 View 的一些引用。如果 View 尚未打开,命令应打开 View ,然后将数据发送到 View 。
这两种情况都可以用同样的方法解决。
例如,以下信息来自
Programmatically showing a View from an Eclipse Plug-in
您可以激活 View ,无论它是否已经可见。 IWorkbenchPage#showView(id-of-your-view)
方法将返回对 View 的引用,因此您可以将其转换为 View 类型并调用其方法,例如包括一些方法接收要在 View 中显示的列表。
关于java - Eclipse 插件 : Pass values from one View to other View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11488022/