java - 从 RCP 应用程序启动 SWT 窗口/进程

标签 java eclipse eclipse-plugin swt eclipse-rcp

好的,我有一个 RCP 应用程序(不是我编写的),以及一个我仅使用 SWT 开发的应用程序。我想要做的基本上是导入并启动带有参数的 SWT 应用程序的 main 方法,以便它在另一个窗口中运行,就像它是另一个进程一样。我想要传递的参数是一个我不想序列化的复杂数据结构。

我原本以为我可以将我的 SWT 应用程序设计为一个库并导入它,让它生成它的 shell 等等。但是我忽略了考虑 SWT 应用程序的主循环如何在主线程上运行,这似乎有问题。 所以我开始考虑将它与 eclipse 插件架构集成。问题:我对 Eclipse 插件架构或 RCP 一无所知,当我尝试学习时,我遇到了一堵难以理解的墙,这些东西完全不同于我想要做的事情(即在 Eclipse 工作台上构建新按钮) 。我如何开始开发一个仅启动另一个窗口的插件?

最佳答案

您将需要某种按钮来启动应用程序,因此只需挂接到 Eclipse 菜单系统即可。

尝试:

1) 在 Eclipse 中,文件 -> 新建项目 -> 插件项目

2) 确保选中“此插件将为用户界面做出贡献”

3)取消选中“生成激活器”,因为您不需要它

4) 从代码模板中选择“Hello World 命令”

现在您将拥有一个示例处理程序和一个名为execute 的方法,您可以在其中使用您在RCP 应用程序中使用的显示来调用SWT 应用程序。如果您确实必须调用 void main(String[] args),您可以通过调用 Display.getDefault() 来获取显示,这将创建一个新的显示或使用 RCP 应用程序中的显示。

您还必须修改plugin.xml 文件,使其指向RCP 应用程序中的正确菜单。如果您希望启动命令位于文件菜单等中。

最后,右键单击您的项目并选择导出 -> 插件开发并创建一个 jar 文件,您的启动器将在其中。将该 jar 放入 RCP 应用程序的插件文件夹中,您应该能够从您刚刚创建的命令启动 SWT 应用程序。

途中可能会遇到一些坎坷,但这大致就是您必须要做的。

关于java - 从 RCP 应用程序启动 SWT 窗口/进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357588/

相关文章:

java - 在 J2EE 应用程序中,什么时候调用监听器?

java - appcompat_v7 和 android-support-v7-appcompat 之间的区别?

java - 类初始化时如何确定类加载器?

java - TextDatasetFactory 有问题

java - tomcat 5.5 不显示手动部署的应用程序

java - 如何保护我的 Android 应用免受 RESKIN 攻击?

java - Eclipse插件创建项目失败 "Google Cloud Tools for Eclipse"

java - Eclipse 插件的自定义启动画面(非 RCP)

Java J2ee 插件安装存在依赖错误

JAVA通过网络发送Scribble