在 Eclipse RCP 3.x 中将信息从一个实例复制并粘贴到另一个实例

Posted

技术标签:

【中文标题】在 Eclipse RCP 3.x 中将信息从一个实例复制并粘贴到另一个实例【英文标题】:Copy & pasting information from one instance to another instance in Eclipse RCP 3.x 【发布时间】:2015-03-23 12:28:47 【问题描述】:

我是 Eclipse RCP 的新手。我有一个要求,我需要从任何“xyz”编辑器中复制一些信息并将其粘贴到同一 rcp 产品的另一个实例的“xyz”编辑器中。 我的应用程序已经为产品的单个实例提供了这种复制粘贴功能,为此我根据我的要求使用自定义的标准操作。

我试图为 Web 应用程序设置“应用程序或会话”范围,我们可以在其中存储该信息并将其用于不同的实例。

如果需要其他内容来理解要求,请告诉我。

提前致谢!!!

【问题讨论】:

每个 RCP 都将在单独的 JVM 进程中运行。所以你将不得不使用某种形式的进程间通信。 我正在尝试使用 RCP 的“剪贴板”类,我不确定,天气是否能解决我的问题。如果您对此有任何想法,请告诉我。 【参考方案1】:

正如 greg-449 所说,它们在不同的 JVM 中运行。

这个问题是相关的: inter jvm communication 它需要 Java 7,如果您使用的是 3.x 平台,您可能无法使用它。

您也可以尝试在 JVM 之间打开一个套接字。但是我没有找到任何开箱即用的解决方案。

您可能会发现本地共享数据库的示例,例如 Java Derby 技术。但是对于复制/粘贴操作来说,它的技术栈太多了,所以不要使用它。

【讨论】:

我正在尝试使用 RCP 的“剪贴板”类,我不确定,天气是否能解决我的问题。如果您对此有任何想法,请告诉我。 它会解决你的问题。只要您的操作由 Ctrl+C 和 Crtl+V 键(或根据运行平台的标准操作)控制,这是一个好主意。用户希望剪贴板仅由这些键或上下文菜单控制。否则他们(或至少我)会感到失望。 我有一个自定义对象,我想使用 clipboard.setContents(Object[] data, Transfer[] dataTypes) 在剪贴板上设置该对象,但无法为此方法设置正确的 Transfer 对象。您能否提供任何相同的示例代码。我有一个 DadiItem 类对象,我想在不同应用程序实例的粘贴操作中设置和检索它。 这是一个有用的例子:link - 请参阅代码中MyTypeTransfer 类的实现。另外,关于你的DadiItem,我在ByteArrayTransfer 文档中找到了这个:“如果你要转换的数据没有映射到一个字节[],你应该直接子类传输并做你自己的映射”。

以上是关于在 Eclipse RCP 3.x 中将信息从一个实例复制并粘贴到另一个实例的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Eclipse RCP 到“主机”Eclipse IDE 进行通信

构建支持 Eclipse 项目的 RCP

将电子邮件从 MS Outlook 拖放到 Eclipse RCP

将语言包添加到 Eclipse RCP

在 eclipse RCP 中安装新插件/功能后,是不是有任何方法可以自动从磁盘中清除旧插件/功能?

使用最新插件启动eclipse RCP应用程序时出错(Eclipse 4.8)