2012-10-06 41 views
2

我很新的java和javafx 2. 我想要做的是一個應用程序,基本上是一個單獨的「模塊」的容器,可以稍後添加。Java + JavaFX2項目:模塊化內容

主應用程序應該是某種內容瀏覽器,用於掃描文件夾中的模塊。 然後,您可以選擇所需的模塊(例如,一個小型遊戲)並在主應用程序(如框架)內打開它。如果我可以選擇全屏顯示(僅限模塊,沒有主應用程序),我也會喜歡它。 主要應用程序和模塊也應該能夠溝通(例如,發送設置,如「難度」或「起始水平」和接收分數/結果)。

你有什麼想法我應該如何去實現模塊化(不失去相互溝通)?

我試圖在谷歌上查找它,但我可能不知道正確的技術術語......所以,任何幫助將不勝感激!

注:我是一個圖形用戶界面noob(我的大部分編程經驗是基於CLI的,而不是低級別)。

編輯:奇怪,它刪除「嗨!」從第一行開始......我猜有些規則強迫我們粗魯;)...

回答

1

看看Java 6+中的ServiceLoader類,網上有很多關於它的文檔,但是,其要點在於,您可以要求它在配置的類路徑中找到的接口的實現。例如,您可以有以下接口:

interface AppPlugin { 
    Node getContentNode(); 

    String getName(); 
} 

然後插件需要實現此接口並配置爲由ServiceLoader加載。看看這裏的教程:

http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html

+0

謝謝!我發現這個:http://solitarygeek.com/java/a-simple-pluggable-java-application,這比你給我的鏈接更容易一些。我仍然必須弄清楚如何用JavaFX2處理這個問題(對此有任何輸入?)。再次感謝,非常感謝。 – BlackRainbow

+1

沒問題,我不知道你希望它看起來如何,但你可以有一個顯示名稱的所有插件ListView(ListView上的好的Oracle文檔),以及插件內容節點的中心面板在列表中的項目被選中時進行設置。假設服務接口與上面的示例類似。 –