3. Applet
3.1 Hello World Applet
接下来使用Applet实现Hello World,借此先了解最简单的Applet程序及使用方法。
1: import Java.awt.Graphics;
3: public class HelloWorldApplet extends java.applet.Applet {
4:
5: public void paint(Graphics g) {
6: g.drawString("Hello world!", 5, 25);
7: }
8:}
Applet说明:
(1) 首先Applet一般是从java.applet.Applet中继续过来的;
(2) paint()方法必须是public,不然不能被其它程序正确调用;
(3) 由于paint方法使用了Graphics类,所以Applet需要引用java.awt.
(4) Graphics,当然假如其它的类假如也可以实现Graphics类的功能,也可以引用之;
(5) 在Applet中没有public static void main这个方法,所以它不能独立执行,必须由专门的程序(如游览器)调用执行,Applet程序被调用后,会自动执行paint方法。
这样一个Applet就完成了,以HelloWorldApplet.java文件名保存,使用正常的编译命令编译之,即javac HelloWorldApplet.java,编译完后会生成.class文件,接下来就是在网页中引入之个Applet小程序,这里我们在Html中引入该Applet小程序:
<HTML>
<body>
<APPLET code="HelloWorldApplet.class" width=150 height=25></APPLET>
</body>
</HTML>
(6) 这是一个简单的Applet引用方法,在HTML中使用标签APPLET来引用Applet,code属性指定Applet的程序名,在这个例子中引入的Applet与HTML文件在同一个目录下,所以没加路径说明,假如不是可以使用codebase指定applet所在的路径,路径表示方法与HTML中的一样;
(7) 其它属性width及时性height是HTML的标准属性
(8) 但是该HTML在游览器中执行时,并不一定能执行Applet小程序。具体原因我还没找到,我使用的操作系统是XP,浏览器是IE6.0,并且已安装了java虚拟机,已经测试过可以正常游览有applet的网站。假如有人知道请不访告诉我(email: 8280338@tzenet.com),大家共同进步。
还有另一个方法可以测试Applet,就是使用appletViewer命令,假如上述的HTML文件名为hello.htm,那么可以使用:
appletViewer hello.htm
查看HTML文件中引入的applet小程序,该命令会忽略HTML代码,直接执行applet代码。
3.2 Applet参数使用方法
在Applet中可以使用<param>标签向Applet传递参数,如:
<applet ….>
<param NAME=font VALUE="TimesRoman">
……
</applet>
当applet执行时,这些参数就会被传入,可以在init方法中使用getParameter()方法获取这些传入参数的值,如getParameter("font"),该方法返回值始终是String类型的,所以必要的时候还需进行相应的类型转换。假如没有相应的传入参数,那么getParameter()方法会返回null值。
3.3 Applet基本方法
从java.applet.Applet继续过来的applet会有五个基本的方法:
(1) init()方法:当applet被加载时,会首先执行init方法,该方法相当于java application中的main,该方法只能被执行一次;
(2) start()方法:init方法执行完毕会就会自动执行start方法,start方法可以被反复执行,如一个applet被stop后,可以使用start方法重新开动它;
(3) stop()方法:停止执行applet,与start方法相对应
(4) destroy()方法:与init方法相对应;