2010-03-01 123 views
0

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

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

回答

1

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

尝试:

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

2)请务必检查 “这个插件将使到UI贡献”

3)取消选择“生成激活剂”,因为你不会需要它

4)代码模板

现在你将有作为选择的“Hello World命令”充足的处理程序和称为execute的方法,您可以使用RCP应用程序中使用的显示来调用SWT应用程序。如果你真的必须调用void main(String [] args),你可以通过调用Display.getDefault()来获得显示,这将创建一个新的显示或使用RCP应用程序中的显示。

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

最后,右键单击你的项目,然后选择导出 - >插件开发,并创建一个jar文件,你的发射器将在哪里。 jar放到RCP应用程序的plugins文件夹中,你应该可以从你刚刚创建的命令启动SWT应用程序。

在途中可能会遇到一些颠簸,但这大致是你必须做的。

相关问题