2014-11-08 80 views
0

我有一個Java桌面應用程序,我想添加插件/插件支持功能,以我的應用程序如何構建java桌面應用程序運行時模塊?

搜索後我看到Blender3D插件是非常好的,只是複製一些文件到Blender的目錄,並在選項窗口啓用它那麼插件可以添加新的引擎,菜單,按鈕和麪板.....我喜歡這種風格,並希望有這樣的事情在我的應用程序只是釋放的主要應用

後插件來發展它,我發現OSGi的,但可以不知道如何使用我的主應用程序中使用此功能創建的插件?!而且我不想使用Eclipse RCP或Netbeans的RCP,我想這個功能添加到使用JavaFX的爲貴我目前的主要應用。

感謝,

+1

OSGi的插件需要在OSGi環境中運行,如Eclipse RCP的,你不能只用它們在非OSGi的計劃。 – 2014-11-09 09:09:15

回答

1

看看Java反射API

的java.lang.reflect.Method等

還學什麼目的接口和抽象類服務。您可能希望讓您的插件api提供一個或多個具有一個或多個抽象類的接口,以作爲實現擴展的具體基類。

在實際的jdk一個很好的例子是JDBC API。它是完全插件驅動(你問的DriverManager實例化一個驅動程序給定的URI,它處理編組的實施,這是隱藏在接口和抽象類)。

歡呼

0

一個相當老了,但還是很不錯的例子,因爲它比較侷限,你想要做的,以及什麼是the Apache Felix Application tutorial

你已經掌握了這些概念後,你可能想看看OSGi enRoute,瞭解較新的設施,我們在OSGi的。

相關問題