java - Eclipse 插件 : Pass values from one View to other View

标签 java eclipse plugins view package-explorer

我用 prefuse 写了一个插件集成在 View (org.eclipse.ui.views) 中。作为第二步,我编写了一个命令菜单并将其添加到 Package Explorer 的上下文菜单中。当我右键单击资源管理器包 View 中的任何包时,它会显示菜单。当我点击它时,命令的 Handler 类将包中的所有 Java 类路径保存到一个列表中。 我现在的问题是,如何将更新后的 List 传递到初始化我的 prefuse 类的 View 。 我忘了说,这是我第一次编写 eclipse 插件。可能有更好的方法来做到这一点。

谢谢

最佳答案

你的插件的 plugin.xml 可能定义了两件事:

  1. 包资源管理器的上下文菜单贡献
  2. 应该接收列表的 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/

相关文章:

plugins - 将 Slack 插件安装到 Sensu 非企业版

java - 我必须将 hibernate 设置为 weblogic 吗?

java - 在 Java 程序中通过 UDP 接收 C++ 字节流

eclipse - 如何使用 Maven/Tycho 构建 Eclipse 插件以在 "Install New Software"对话框中使用

github - 从 github 存储库加载时 Gradle 独立插件未知属性

c# - 捕获插件 UserControl 抛出的异常

java - 在 Centos 6.5 上的 Rstudio 服务器上加载 rJava 时出错

java - Rest API 身份验证失败 - Jenkins

java - 为什么 FileReader 不是 NetBeans 中的一个类?

Java本地数据库