2013-01-21 21 views
2

我有一個很大的Java小程序(大約7 MB)。這是一個古老而大型的項目,由幾個(7個)較小的項目組成,使用「fatjar」捆綁在單個罐子中。由於applet是一種老技術,我有功能問題(我的applet沒有簽名),你能告訴我切換我的代碼到JWS(Java web start)的確切好處,是值得嗎?將applet移植到JWS

如果我切換到JWS,我將能夠將我的小程序分成幾個jar,將被主jar(很像dll)加載和使用? 我的目標是將我目前的applet分成幾個(7)獨立的罐子。這樣,當我在一個項目中改變某些東西時,我只會上傳一個包含已更改項目的小容器,而不是整個大容量的胖子小程序。

如果JWS並沒有比那麼好,那麼你可以建議我一些使用SWING的其他技術嗎?重寫(並分離到MVC)整個事情,所以它使用HTML或其他東西是不行的。幾乎我的小程序使用的所有控件都是擴展標準SWING控件的特殊定製控件。

+0

applet中的GUI實際上是否需要將其嵌入到網頁中,還是在自由浮動組件(如JFrame)中可以更好地工作? –

+0

不需要成爲網頁的一部分。包含小程序的頁面是簡單的index.html,它所做的只是啓動小程序。 – guest86

回答

5
  1. 返工GUI出現在JFrame
    1. 將項目拆分爲獨立的罐子。
    2. 如果Jars對於特定API是通用的,請將它們放入JNLP擴展中。這樣他們可以很容易地被其他項目使用。
  2. 使用JWS啓動JFrame

在回答您的具體問題:

由於小應用程序是一個古老的技術,(我的小程序沒有簽名),你可以告訴我,我的代碼轉換爲JWS確切的好處我有功能方面的問題(Java web開始),是值得的開關?

首先,是的,它是值得的。

立即解決了applet /瀏覽器/ JVM交互可能遇到的任何問題。自由浮動的應用程序。是可調整大小,並更容易定製爲框架標題等用戶可以繼續使用該應用程序。當瀏覽器關閉時。他們可以打開應用程序。當離線時,如果它被配置爲允許。

在關於罐更新,引述JWS tag Wiki

Java Web Start的(JWS)是用來啓動富客戶端(鞦韆,AWT,SWT)桌面應用程序直接從網絡Oracle公司技術或互聯網鏈接。它爲支持Java的平臺提供「一鍵式」安裝。

JWS提供了許多吸引人的功能,包括但不限於,閃屏,桌面集成,文件關聯,自動更新(包括懶下載編程控制更新的),當地人分區等&資源按平臺,體系結構或Java版本下載,配置運行時環境(最低J2SE版本,運行時選項,RAM等),使用擴展輕鬆管理公共資源。

走上..

如果我切換到JWS我將能夠分割的小程序分成幾個罐子的,將加載和主罐子(很像DLL)的使用?

是的。儘可能多的,請參閱上面的裸露細節。

如果JWS比applets好不了多少,你可以建議我一些使用Swing的其他技術嗎?

我強烈推薦使用JWS/Swing。所以不,我沒有任何其他的建議(這可以通過儘可能少的努力來實現)。

繼續嘗試吧。我認爲你和你的用戶會喜歡這個變化。

+0

太糟糕了,我不能給你+ x 2 :)所有這些在JWS wiki中說的聽起來不錯,我希望它適用於未簽名的應用程序... – guest86

+0

如果小程序可以無效工作,JWS應用程序。應該沒有問題(配置爲拒絕運行未簽名代碼的機器除外 - 不是默認)。 –

+1

JWS的+1。這[混合](http://stackoverflow.com/a/12449949/230513)方法也可能很方便。 – trashgod