2010-03-01 230 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應用程序。

在途中可能會遇到一些顛簸,但這大致是你必須做的。

相關問題