第六篇 Java程序设计网络篇

第24章 Applet设计

Applet编程是Java编程语言至关重要的独特功能。它不同于一般的Java程序,其能够嵌入到HTML网页中,并由支持Java的Web浏览器解释执行。只有使用IE浏览器3.0以上的版本,才能支持Java小应用程序。有了这种小应用程序,所设计的网页就能有一定的交互功能。本章将学习有关Applet的知识,以及如何使用Applet编写应用程序段。

本章重点:

Applet的生命周期。

Applet的声音和图像处理功能。

在浏览器中Applet的使用。

Applet的安全问题。

24.1 Applet的基本概念及生命周期

Applet是在Web浏览器中运行的Java小应用程序,它能够嵌入到HTML页面中,并可以通过Web浏览器下载和执行。一个Java程序要想运行,必须编写主运行函数,把所有要运行的内容放到主运行函数中,就可以运行了。但是在Applet小程序中,并不需要主运行函数,它由Web浏览器中的Java虚拟机调用执行。

Applet类位于java.applet包中,其继承自Panel类,所以也是一个容器,可以包含AWT组件。为了能够对Applet有一个很好的理解,先看一个很简单的实例,学习如何制作Applet应用小程序。


import java.applet.*;

public class test1 extends Applet

{

}


然后在同一个目录中,建立一个以html为扩展名的文件。


<html>

<body>

<Applet code="test1.class"width="200"height="200">

</Applet>

</body>

</html>


最后在DOS窗口中,使用如下命令。


Appletviewer以html为扩展名的文件


在Applet程序中,不需要主运行函数,取而代之的则是使用init、start、stop和destroy方法。下面介绍这几个函数。

public void init():完成Applet的初始化操作。

public void start():启动浏览器运行Applet程序。

public void stop():暂停Applet的执行。

public void destroy():撤销Applet的执行。

这4个函数也就形成了Applet的生命周期。它们的执行步骤如下所示。

加载Applet类→创建Applet对象(调用构造器)→init()→start()

当从包含有Applet的Web页面转到其他页面时,浏览器会自动调用Applet类的stop()方法,因此要让Applet暂停时运行的代码,放入stop()方法函数中。若再次返回到包含Applet的Web页面,Applet对象会重新被创建,然后再次依照上面的步骤执行。

【实例24.1】下面将演示一个有关Applet生命周期的实例。


01 import java.applet.*;

02 ///在init方法中输出一段话,就是在初始化页面时会输出它

03 ///在start方法中输出一段话,就是在运行时会输出它

04 ///在stop方法中输出一段话,就是在暂停时会输出它

05 public class test1 extends Applet

06 {

07 public void init()

08 {

09 System.out.println("欢迎大家进入Applet程序学习页面!");

10 }

11 public void start()

12 {

13 System.out.println("现在程序正在运行。");

14 }

15 public void stop()

16 {

17 System.out.println("程序停止运行了。");

18 }

19 }


在同一个目录下创建一个HTML文件如下。


20<html>

21<body>

22<Applet code="test1.class"width="200"height="200">

23</Applet>

24</body>

25</html>


【代码说明】第7~18行实现了Applet的3个方法,第22行使用<Applet>标签来调用Java类。这里要注意调用的是编译后的Java类。

【运行效果】


欢迎大家进入Applet程序学习页面!

现在程序正在运行。

(当关闭Applet程序时)

程序停止运行了。


从上面的实例可以看出一个程序的运行步骤。这是一个很简单的程序段,演示这个例子的目的,在于让读者对Applet生命周期有一个认识,因为这个周期的概念非常重要。

一个网页中不但有声音、图像、动画等,还有静态文字。本章后面将会对声音的处理、图像的处理、动画的处理做一个介绍,并且通过一些实例让读者学会如何编写Applet程序。