欢迎来到天天文库
浏览记录
ID:46949619
大小:370.31 KB
页数:30页
时间:2019-12-01
《《Java Applet》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第12章JavaApplet本章导读1.JavaApplet的运行原理2.JavaApplet中播放声音3.网页向JavaApplet传值4.JavaApplet中使用AWT组件5.JavaApplet中使用Swing组件6.JavaApplet中绘制图形7.JavaApplet中绘制图像8.JavaApplet播放幻灯片和动画9.JavaApplet的网络功能12.1JavaApplet的运行原理1.JavaApplet概述一个JavaApplet也是由若干个类组成的,一个JavaApplet不再需要main()方法,但必须有且仅有一
2、个类扩展了Applet类,这个类称为这个JavaApplet的主类。JavaApplet的主类必须是public的。2.运行原理一个JavaApplet程序,说明Javaapplet运行原理。1)网页的编写JavaApplet必须由浏览器来运行,因此必须编写一个超文本文件,告诉浏览器来运行这个JavaApplet。假设Applet主类的名字是Boy,下面是一个简单的html文件“like.html”“like.html”文件告诉浏览器运行主
3、类是Boy的JavaApplet。“like.html”中的标记和告诉浏览器将运行一个JavaApplet,code告诉浏览器运行哪个JavaApplet。code“=”后面是主类的字节码文件。2)JavaApplet的生命周期一个JavaApplet的执行过程称为这个JavaApplet的生命周期。一个JavaApplet的生命周期会涉及如下方法的调用执行:init(),start(),stop(),destroy(),paint(Graphicsg)JVM创建的主类Boy的对象在生命周期内将有下列行为
4、:浏览器内置的JVM创建了主类Boy对象后,立刻通知这个对象调用init()方法完成必要的初始化工作。初始化的主要任务是创建所需要的对象、设置初始状态、装载图像、设置参数等。对象仅接着自动调用start()方法。在程序的执行过程中,init()方法只被调用执行一次。但start()方法将多次被自动调用执行。除了进入执行过程时调用方法start()外,当用户从JavaApplet所在的Web页面转到其他页面,然后又返回时,start()将再次被调用,但不再调用init()方法。当浏览器离开JavaApplet所在的页面转到其它页面时,主类创
5、建的对象将调用stop()方法。如果浏览器又回到此页,则start()又被调用来启动JavaApplet。在JavaApplet的生命周期中,stop()方法也可以被调用多次。如果你在JavaApplet中设计了播放音乐的功能,而没有在stop()方法中给出停止播放它的有关语句,那么当离开此页去浏览其他页时,音乐将不能停止。如果没有定义stop()方法,当用户离开JavaApplet所在的页面时,JavaApplet将继续使用系统的资源。若定义了stop()方法,则可以挂起JavaApplet的执行。当浏览器结束浏览时,主类创建的对象自动
6、执行destroy()方法,结束JavaApplet的生命。该方法是父类Applet中的方法,不必重写这个方法,直接继承即可。paint(Graphicsg)方法可以使一个JavaApplet在容器上显示某些信息,如文字、色彩、背景或图像等。在JavaApplet的生命周期内可以多次调用。例如,当JavaApplet被其它页面遮挡,然后又重新放到最前面、改变浏览器窗口的大小、以及JavaApplet本身需要显示信息时,主类创建的对象都会自动调用paint()方法。3.关于repaint()方法和update(Graphicsg)repai
7、nt()方法和update(Graphicsg)是Component类中的一个方法。当调用repaint()方法时,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。实际上当调用repaint()方法时,程序自动去调用update(Graphicsg)方法,浏览器的Java运行环境产生一个Graphics类的实例,传递给方法update(Graphicsg)中的参数g,这个方法的功能是:清除paint()方法以前所画的内容,然后再调用paint()方法。因此可以在子类中重写update()方法(即隐藏父类的方法)
8、,根据需要来清除哪些部分或保留哪些部分。例10-2中,在paint()方法中,使用了repaint()方法,因此每当JavaApplet调用paint()方法时,就会调用update()方法。
此文档下载收益归作者所有