要运行这个程序,你必须先把它嵌入某个网页,然后使用支持Java的Web浏览器来观看这
个网页。要把applet嵌入网页,你得在网页的HTML源文件4中加上特殊标签,这就能告诉
网页如何装载并运行这个applet。
以前,这个过程非常简单,那时候 Java 本身也很简单,大家都使用相同的技术,浏览器内
部对 Java 的支持也相同。那时,只需在网页里加入非常简单的 HTML 代码即可,像这样:
<appletcode=Applet1 width=100 height=50>
</applet>
后来就是浏览器和语言的激烈争斗,最终我们(程序员和类似的最终用户)失败了。不久,
Sun 认识到我们不能再指望浏览器来支持正确风格的 Java,唯一的解决之道就是提供某种
符合浏览器扩展机制的插件。通过使用扩展机制(为了获得竞争优势,浏览器的提供商不
会在不破坏所有第三方扩展的情况下禁止这个功能),Sun 得以保证 Java 技术不会被竞
争对手提供的浏览器拒之门外。
对于 InternetExplorer,扩展机制就是ActiveX 控件;对于 Netscape,扩展机制是
plug-in。在你的 HTML 代码中,你必须提供二者都支持的标签。好在你能使用 JDK 附带
的 HTMLconverter 工具来自动生成必要的标签。在使用 HTMLconverter 工具对前面的
applet 标签进行处理之后,以下就是对于 Applet1 所得到的最简单的 HTML 页面代码:
<!--"CONVERTED_APPLET"-->
<!-- HTMLCONVERTER -->
<OBJECT
classid = "clsid:CAFEEFAC-0014-0001-0000-ABCDEFFEDCBA"
codebase =
"http://java.sun.com/products/plugin/autodl/jinstall-1_4_1-
windows-i586.cab#Version=1,4,1,0"
WIDTH = 100 HEIGHT = 50 >
<PARAM NAME = CODE VALUE = Applet1 >
<PARAM NAME = "type" VALUE =
"application/x-java-applet;jpi-version=1.4.1">
<PARAM NAME = "scriptable" VALUE = "false">
<COMMENT>
<EMBED
type =
"application/x-java-applet;jpi-version=1.4.1"
CODE = Applet1
WIDTH = 100
HEIGHT = 50
scriptable = false
pluginspage =
"http://java.sun.com/products/plugin/index.html#download">
<NOEMBED>
</NOEMBED>
</EMBED>
</COMMENT>
</OBJECT>
<!--
<APPLET CODE =Applet1 WIDTH = 100 HEIGHT = 50>
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
其中有些行太长了,要换行处理才能完整显示。本书源程序(可以从www.BruceEckel.com
下载)中的代码可以正常工作,不用担心其换行是否正确。
code 值给出了 applet 所在的.class 文件的名称。width 和 height 指定了 applet 的初始
大小(和以前一样,以像素为单位)。applet 标签中还可以加入其它属性:在互联网上查
找其它.class 文件的地址(codebase),对齐方式(align),使 applet 之间能够相互通
讯的特殊标识符(name),以及 applet 能够读取的参数信息。参数具有如下形式:
<param name="identifier" value = "information">
而参数的数量并没有限制。
本书的源代码包(可以从www.BruceEckel.com免费下载)中为书中的每一个applet都提
供了HTML页面,因此,有很多applet标签的例子,可以从本章源代码对应的index.html
文件中找到。至于把applet嵌入网页的细节部分,你可以在java.sun.com上查到完整且最
新的说明。