将applet迁移到JWS

时间:2013-01-21 16:17:23

标签: java swing applet java-web-start

我有一个大的Java小程序(大约7 MB)。这是一个古老而又大的项目,由几个小型项目组成,所有项目都使用“fatjar”捆绑在一个罐子里。由于applet是一项老技术而且我的功能有问题(我的applet没有签名)你能否告诉我将代码切换到JWS(Java web start)的确切好处并且是值得的开关吗?

如果我切换到JWS,我能否将我的applet拆分成几个罐子,这些罐子将被主jar加载和使用(就像dll一样)? 我的目标是将当前的applet分成几个独立的罐子。这样,当我在一个项目中更改某些内容时,我只会上传一个包含已更改项目的小jar,而不是整个,大而胖的applet。

如果JWS比applet好多了,你能否建议我使用SWING的其他技术?重写(并分成MVC)整个事情所以它使用HTML或其他东西是不行的。我的applet使用的几乎所有控件都是扩展标准SWING控件的特殊自定义控件。

1 个答案:

答案 0 :(得分:5)

  1. 重新设计GUI以显示在JFrame中。
    1. 将项目拆分为单独的Jars。
    2. 如果Jars对于特定API是通用的,请将它们放入JNLP扩展中。这样他们就可以很容易地被其他项目使用。
  2. 使用JWS启动JFrame
  3. 回答您的具体问题:

      

    由于applet是一项旧技术而且我的功能有问题(我的applet没有签名)你能否告诉我将代码切换到JWS(Java web start)的确切好处,并且它是值得的开关吗?

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

    立即解决applet / browser / JVM交互可能遇到的任何问题。免费的浮动应用程序。可调整大小,并且可以更轻松地自定义框架标题等。用户可以继续使用该应用程序。当浏览器关闭时。他们可以打开应用程序。离线时,如果配置为允许。

    关于Jar更新,引用JWS tag Wiki

      

    Java Web Start(JWS)是Oracle Corporation用于直接从网络或Internet链接启动富客户端(Swing,AWT,SWT)桌面应用程序的技术。它为支持Java的平台提供“一键式”安装。

         

    JWS提供了许多吸引人的功能,包括但不限于启动画面,桌面集成,文件关联,自动更新(包括懒惰下载程序控制更新),原生的分区&按平台,体系结构或Java版本下载其他资源,运行时环境配置(最低J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源..

    走上..

      

    如果我切换到JWS,我可以将我的applet拆分成几个jar,它们将被主jar加载和使用(很像dll)?

    是。尽可能多,请参阅上面的详细信息。

      

    如果JWS没有applet好多少,你能否建议我使用Swing的其他技术?

    我强烈建议使用JWS / Swing。所以不,我没有任何其他建议(只需要很少的努力即可实现这一点)。

    来吧,试一试。我认为您和您的用户将会喜欢这种变化。