预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共90页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第12章Java小应用程序(Applet)的设计12.1编写一个Applet图12.1这种层次关系显示,一个Applet可直接用作一个AWT布局的容器。因为Applet是Panel的子类,所以它有一个缺省的流(Flow)布局管理器。Component,Container和Panel类的方法被Applet类继承了下来。 12.1.1Applet的执行框架 在Java出现之前,人们就已经开始使用HTML(超文本标记语言)进行Web页面的设计了。然而,对HTML稍有了解的人都知道,HTML所提供的设计能力是极其有限的。Java率先提供了让Web页面实现更丰富的GUI和逻辑运算能力的方法,这种方法是通过将一个Java的类插入到Web页面中来实现的。如何编写一个Applet并令它在浏览器中执行呢?方法很简单,只要继承java.applet包下的Applet类,并实现一些必要的方法即可。下面我们来看一个最简单的Applet的例子,并学会怎样在浏览器中令它运行。 例12.1SimpleApplet.java importjava.applet.*; importjava.awt.*; publicclassSimpleAppletextendsApplet {Stringtext=null; publicvoidinit() { text="Asimpleappletdemo!"; setBackground(Color.YELLOW); } publicvoidstart() { System.out.println("starting..."); } publicvoidstop(){ System.out.println("stopping..."); } publicvoiddestroy() { System.out.println("preparingtounload..."); } publicvoidpaint(Graphicsg) { System.out.println("Paint");g.drawString(text,15,25); } } 上面是一个最简单的Applet例子,大家可能已经发现,这个程序没有main()方法,的确,我们前面所学到的Java应用程序都必须由main()方法处进入,而在一个Applet中却不是这样。Applet的生命周期稍微有些复杂,它需要通过浏览器来运行,所以为了执行它,还必须有一个HTML编写的Web页面。例12.2SimpleApplet.html <html> <body> <appletname="SimpleApplet"codebase=.code=SimpleApplet.classwidth=200 height=100> </applet> </body> </html>这里将不准备详细讨论有关HTML的问题,如果不太了解,可以自己查阅相关资料。我们只稍微解释一下上面的HTML代码。它通过标记<Applet>和参数告诉浏览器下载执行一个Applet。其中,name这个参数表示Applet的名字;codebase表示编译好的Applet字节码的路径;code表示Applet文件的文件名;width和height指定了该Applet的宽度和高度。name和codebase这两个参数并不是必须的,如果Applet字节码文件和html文件在同一路径下,则可以不加codebase参数。width和height这两个参数一定要加,所以在Applet程序中可以不需要设置Applet的Panel的大小。把这个HTML文件和编译好的Applet保存在同一个目录下(HTML文件并不一定要和Applet同名),然后用浏览器打开这个HTML文件,将看到这个最简单的小应用程序的运行结果。除了通过浏览器来运行Applet,Java平台本身也提供了一个调试Applet的方法。在JDK包中带有一个小应用程序观察器AppletViewer.exe,只要在Windows命令行窗口中输入: appletviewerSimpleApplet.html 就会看到和在浏览器中运行基本相同的输出结果。图12.2和图12.3分别列出了通过两种方式运行例子SimpleApplet的输出结果。现在我们来看看这个Applet到底是如何运作的。大家可能已经注意到,在上面的例子SimpleApplet中,没有main()方法。一般的Java应用程序都是由main()方法处进入,而在Applet中却不是这样。在构造函数完成了它的任务后,浏览器将自动调用init()方法,所以通常把Applet的基本初始化操作放在这里。init()结束后,浏览器调用另一个称为start()的