将applet迁移到JWS

gue*_*t86 2 java applet swing java-web-start

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

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

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

And*_*son 5

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

在回答您的具体问题时:

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

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

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

关于Jar更新,引用JWS标签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.所以不,我没有任何其他建议(只需要很少的努力即可实现这一点).

来吧,试一试.我认为您和您的用户将享受这一变化.