荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: eagle (bluesky), 信区: Java
标  题: 浏览带有SWING的APPLET
发信站: 荔园晨风BBS站 (Thu May 17 19:54:02 2001), 转信


众所周知,Sun和MS的一场官司最终有了个很不好的结局:双方分道扬镳了。最倒霉的当
然是我们这些java程序员了,一个很不利的一点在于WEB上的JAVA技术的实现。下面以我
尝试在applet中使用最新的Swing技术为例,阐述一下相应的入门问题。
先澄清几个概念:
JDK和J2SDk:J2SDk包含了Java Development kit(JDK)、Java Runtime Environment(JR
E)和Java Plug-in。原先sun的JAVA软件开发工具包是JDK,现在就称为J2SDk了。
JRE和plug-in:JRE包含了java plug-in。
sun的java网站上就单独提供J2SDK和JRE各种版本的下载,J2SDk是提供给开发JAVA程序所
用,应用程序用户是不需要开发工具的。而JRE顾名思义是JAVA程序要运行所需要的环境
,所谓跨平台就是要各种平台都有一个中间代理,那就是JRE。一般采用JAVA技术开发出
的软件都得带这个,所以sun就单独提供了JRE安装文件,以供JAVA应用程序发布时所用。

Swing和JFC(Java Foundation Class)JFC是早期Sun对JDK的功能扩展,不是Java的公共
规范,Swing是其中的一项用户界面扩展技术。最新的JAVA2技术则包含了JFC技术,不需
要再扩展了。说白了,其实就是Sun将JFC纳入了JAVA核心类库。原先要用到JFC技术,用
户必须在原有的JRE前提下再添加JFC,现在少了一步,只需JRE了。
Sun的JAVA实现和MS的JAVA实现
众所周知,JAVA技术是开放的,Sun制定规范,各公司可以推出自己的JAVA实现,当然都
得遵守Sun的规范。JAVA技术发展的开始阶段,MS和Sun保持了很好的合作关系,在IE里
面采用MS的JAVA VM(虚拟机)支持Java applet。但好景不长,双方分手了,最新的IE支
持的JAVA版本是1.1.4。这也是Sun推出了它的所谓plug-in技术的原因所在。
言归正传,JAVA2技术的发展日新月异,IE只支持MS的JAVA1.1.4,applet如何才能利用
到那些新的核心类库呢?唯一的办法,绕开IE的appet机制(<applet.........</applet
>),使用plug-in,利用IE浏览器必须支持的扩展技术扩展IE功能。所谓的扩展技术也就
是MS的COM/ActiveX技术,在网页中这就是<OBJECT>标签的目的所在了。顺便说一下,在
Natscape Navigator中plug-in是利用浏览器的插件构架来达到目的的(<EMBED>目的所在
)。plug-in的作用就在于用Sun的JRE来替代掉浏览器所默认的JRE。
明白了以上内容,我们就可以了解为什么带Swing的applet网页不能用一般的HTML标记语
言<applet>来写了,为什么浏览带Swing技术的Applet要有plug-in才行了。
对applet开发者而言最简单方便的方法就是:
1)用平时一般的<applet........></applet>标签写好待发布网页。
2)用Sun提供的html converter将待发布网页自动转化成plug-in所能起作用的带有<OBJ
ECT>和
<EMBED>标签的网页。此时即可发布了。
如需自己写,参见http://java.sun.com/products/plugin/1.3/docs/。
常见的一些问题:
问:如果要开发带有Swing或其他JAVA新技术的applet,要安装什么软件?
答:Sun的最新的J2SDK软件,目前最新版本为1.3.0_02。
问:客户端浏览带Swing或其他JAVA新技术的applet,要安装什么软件?
答: 不需特别注意什么,如果第一次浏览带Swing或其他JAVA新技术的applet时,会被引
导至某站点(缺省为Sun的java站点)自行下载安装带有数字签名的JRE软件。如果已经安
装过,则plug-in会自行起作用。
问:如何将引导下载JRE的站点改为自己设定的http站点?
答:在要发布的html页中(html converter转化)有 “codebase="http://java.sun.co
m/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0"” 改为自己的即可
。比如:
“codebase="http://202.119.28.215/JavaRelated/Software/j2re1_3_0-win.exe#Ver
sion=1,3,0,0"”。“pluginspage="http://java.sun.com/products/plugin/1.3/plug
in-install.html"”也类似,只不过for Nascape Navigator。参见http://java.sun.c
om/products/plugin/1.3/docs/intranet.html。
自己发现的一个大bug:
不过在1.3.0_01及以后的版本里已经改正了。
系统:Win2000 Professional、Internet Explorer 5.0。
在1.3.0版本里,无论是装了j2sdk还是Jre,控制面板里的plug-in图标点击无法运行,
也即plug-in在浏览器里无效。解决方法:在注册表中查找“插件”,改为“plug-in”
即可。
或安装高版本。
用户浏览1.3.0版的applet,去Sun的网站down JRE时,如果down的是JRE 1.3.0国际版,

则问题同上。如果down的是JRE 1.3.0 美国版,则IE浏览时会自行“没有响应”。
一些补充:
上文并没有提到使用JFC的解决方案,毕竟,JFC只是个临时方案,不得已才使用它。
比如在用Java applet结合VRML的项目中,如果要用到Swing技术,JFC是一种解决方案。

当然,这种状况只会是临时的,随着技术的发展,各种WEB技术将更好的结合在Java周围

相信WEB上的Java技术会变得更美。
最后:
由于本人属于Java新手,难免会有各种各样的错误,还望大家批评指正,希望以此文作
一点
贡献而已。这只是个入门篇,比较的浅,毕竟WEB技术博大精深,JAVA与WEB未来走向何
方?
还有待于大家共同探讨。

--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 166.111.11.126]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店