收藏 分销(赏)

B10Applet程序.ppt

上传人:a199****6536 文档编号:8915394 上传时间:2025-03-07 格式:PPT 页数:24 大小:478KB
下载 相关 举报
B10Applet程序.ppt_第1页
第1页 / 共24页
B10Applet程序.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,10,章,Applet,程序,10.1 Applet,程序基础,10.1.1,小程序概述,10.1.2 Applet,类,10.1.3 Applet,程序的生命周期,10.1.4 Applet,的显示,10.1.5 Applet,程序和,Application,程序结合使用,10.2 Applet,程序典型应用,10.2.1,图形绘制,10.2.2,获取图像,10.2.3,音频处理,10.2.4,动画处理,10.1 Applet,程序基础,10.1.1 小程序概述,10.1.2 Applet类,10.1.3 Applet程序的生命周期,10.1.4 Applet的显示,10.1.5 Applet程序和Application程序结合使用,10.1.1,小程序概述,Applet,一种嵌入,HTML,文档中的,Java,程序。,Applet,是在浏览器中运行的。,与,Application,程序相比,优点:,web,浏览器提供了运行,Applet,所需要的许多功能;,Applet,是在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新。,局限性:不能在客户机上读写当地文件;也不能连接除它所在的服务器以外的其它机器。,9.1.1,小程序概述,10.1.2 Applet,类,1Applet类的继承关系,Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。Applet类的继承关系如下:,10.1.2 Applet,类,2Applet类的主要方法,构造方法,功能,Applet(),构造一个新,Applet,。,方法,功能,public void destroy(),浏览器或,appletviewer,调用,通知此,applet,它正在被回收,它应该销毁分配给它的任何资源。,public AccessibleContext public getAccessibleContext(),获取与此,Applet,关联的,AccessibleContext,。,10.1.3,小程序的生命周期,小程序的生命周期是指一个applet程序从被下载起,到被系统回收所经历的过程,如下图所示。,图,10.1,小程序的生命周期,离开页面,Init(),start(),stop(),destroy(),再次访问页面,9.1.3,小程序的生命周期,Applet中的主要方法:,(1)init()方法:其任务是初始化工作,仅被调用一次:,(2)start()方法:在init()方法执行后,就自动调用start()方法,可多次调用执行。,(3)stop()方法:离开Applet所在的页面转到其他页面时调用此方法。,(4)destroy()方法:浏览器结束浏览时执行此方法,(5)paint(Graphics g)方法:显示文字、图形和其它界面元素。,(6)public void update(Graphics g)方法:先用背景色填充Web页面,以达到清除画面的目的,然后自动调用paint()方法重新输出。,(7)repaint()方法:程序先清除paint方法以前所画的内容,然后再调用paint()方法。,9.1.4 Applet,的显示,Applet,类利用,paint(),、,update(),和,repaint(),三个方法来实现图形的显示。在,Applet,中,,Applet,的显示更新时由一个专门的,AWT,线程控制的,该线程主要负责两种处理:第一种是在,Applet,的初次显示,或运行过程中浏览器窗口大小发生变化而引起,Applet,的显示发生变化时,该线程将调用,paint(),进行,Applet,绘制;第二种是,Applet,代码需要更新显示内容,从程序中调用,repaint(),方法,则,AWT,线程在接受到该方法的调用后,将调用,Applet,的,update(),方法,而,update(),方法再调用,paint(),方法实现显示的更新,如图,10-2,所示。,9.1.4 Applet,的显示,paint(Graphics g),方法:用来在,Applet,界面中显示文字、图形和其他界面元素。它有一个固定的参数,Graphics,类的对象,g,。可以多次调用。格式为:,public void paint(Graphics g),public void update(Graphics g),方法:先用背景色填充,Web,页面,以达到清除画面的目的,然后自动调用,paint(),方法重新输出。格式为:,public void update(Graphics g),repaint(),方法:程序先清除,paint,方法以前所画的内容,然后再调用,paint(),方法。本质上通过调用,update(),方法实现。格式为:,public void repaint(),综上所述,一个Java Applet的一般格式为:,public class myclassname extends,public void init(),public void start(),public void stop(),public void destroy(),public void paint(Graphics g),9.1.5 Applet程序和Application程序结合使用,如前所述,,Applet,程序必须嵌入在浏览器中才可运行,而,Application,程序则可独立运行,且从,main(),方法开始执行。那么能不能设计一个既是,Applet,程序又是,Application,程序的,Java,程序呢?答案是肯定的。实现的基本思路是从,Applet,类派生子类,并让该类包含,main(),方法。,例如以下就是一个既是,Applet,程序也是,Application,程序的,Java,程序。,/程序名称:Exam100103.java,/,功能:演示一个既是Applet程序也是Application程序的Java程序,import,java.awt,.*;,import,java.applet,.*;,public class Exam100103 extends Applet,String,str,=;,public void,paint(Graphics,g),g.drawString(This,is an Applet!,100,100);,public static void,main(String,args,),System.out.println(This,is an Application!);,10.2 Applet,程序典型应用,10.2.1 图形绘制,10.2.2 获取图像,10.2.3 音频处理,10.2.4 动画处理,10.2.1 图形绘制,1,Graphics,类介绍,Graphics,类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。,Graphics2D,类扩展,Graphics,类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在,Java(tm),平台上呈现二维形状、文本和图像的基础类。本节只介绍如何基于,Graphics,类绘制各类图形。,2,Graphics,类的构造方法及常见方法,表,10-1,给出,Graphics,类的构造方法及常见方法。,略,3,Graphics,类的应用,略,10.2.,2,获取图像,在Java中,图像由一个java.awt.Image类的对象来表示。java.applet、java.awt、java.awt.image包中,包含了支持图像的类和方法。目前,Java所支持的图像格式有GIF、JPEG和PNG。,Java程序中获取图像的基本过程为:,首先,调用Applet类的getImage()方法返回能被绘制到屏幕上的Image对象。getImage()方法的格式为:,Image getImage(URL url),Image getImage(URL url,String name),其中,URL代表一个统一资源定位符,它指向互联网资源的指针,name为图像名称。,10.2.,2,获取图像,其次,调用Graphics类的drawImage()方法在屏幕上绘制Image对象。drawImage()方法的格式为:,boolean drawImage(Image img,int x,int y,ImageObserver observer),boolean drawImage(Image img,int x,int y,int width,int height,ImageObserver observer),其中,observer参数是一个ImageObserver接口,它用来跟踪图像文件装载是否已经完成的情况,通常都将该参数置为this,即传递本对象的引用去实现这个接口。width和height表示图像显示的宽度和高度。若实际图像的高度和宽度与这两个参数值不一样,Java系统会自动将它进行缩放,以适合选定的矩形区域,10.2.,2,获取图像,此外,调用Image类的两个方法就可以分别得到原图的宽度和高度,它们的调用格式如下:,int getWidth(ImageObserver observer),int getHeight(ImageObserver observer),同drawImage()方法一样,通常用this作为observer的参数值。,应用举例略,10.2.,3,音频处理,利用Java提供的applet类的play()和AudioClip类可以实现声音的加载和播放WAV、AIFF、MIDI、AU和RMT格式的文件。,applet的play()方法有两种使用格式:,play(URL soundDirectory,String soundFile);,play(URL soundURL);,例如,,play(getDocumentBase(),Blip.wav);,语句将播放存放在与HTML文件相同目录的Blip.wav,一旦play()方法装载了该声音文件,就立即播放。如果找不到指定URL下的声音文件,play()方法不返回出错信息,只是听不到想听的声音而已。,由于applet类的play()方法只能将声音播放一遍,若想循环播放声音,就需要用到功能更强大的AudioClip类,它能更有效地管理声音的播放操作。,10.2.,3,音频处理,利用Java提供的applet类的play()和AudioClip类可以实现声音的加载和播放WAV、AIFF、MIDI、AU和RMT格式的文件。,为了装入一段audio clip(音频剪辑),可使用来自java.applet.applet类的getAudioClip()方法。该方法有两种使用形式:,public AudioClip getAudioClip(URL url)返回 URL 参数指定的 AudioClip 对象。不管音频剪辑存在与否,此方法总是立即返回。当此 applet 试图播放音频剪辑时,数据将被加载。参数url给出音频剪辑位置的绝对 URL。,public AudioClip getAudioClip(URL url,String name)返回 URL 和 name 参数指定的 AudioClip对象。不管音频剪辑存在与否,此方法总是立即返回。当此 applet 试图播放音频剪辑时,数据将被加载。参数url给定音频剪辑基本位置的绝对 URL,name相对于 url 参数的音频剪辑位置。,10.2.,3,音频处理,例如:,AudioClip sound;,sound=getAudioClip(getDocumentBase(),Blip.wav);,与HTML文件相同目录的Blip.wav创建一个AudioClip对象,一旦创建就可以反复播放而无需重装音频文件。AudioClip类的主要方法:,void play():开始播放此音频剪辑。每次调用此方法时,剪辑都从头开始重新播放。,void loop():以循环方式开始播放此音频剪辑。,void stop():停止播放此音频剪辑。,10.2.,4,动画处理,Java语言中的动画制作步骤是:,第一步,在屏幕上显示动画的第一帧(也就是第一幅画面);,第二步,每隔很短的时间再显示另外一帧,如此往复。,10.2.,3,音频处理,具体的实现过程是系统去调用repaint()方法来完成重画任务,而repaint()方法又去直接调用update()方法。update()方法目的是先清除整个applet区域里的内容,然后再调用paint()方法,从而完成了一次重画工作。,以下举例说明。略,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服