B10Applet程序教学课件_第1页
B10Applet程序教学课件_第2页
B10Applet程序教学课件_第3页
B10Applet程序教学课件_第4页
B10Applet程序教学课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第10章章 Applet程序程序10.1 Applet程序基础 10.1.1 10.1.1 小程序概述小程序概述 10.1.2 Applet10.1.2 Applet类类 10.1.3 Applet10.1.3 Applet程序的生命周期程序的生命周期 10.1.4 Applet10.1.4 Applet的显示的显示 10.1.5 Applet10.1.5 Applet程序和程序和ApplicationApplication程序结合使用程序结合使用10.2 Applet程序典型应用 10.2.1 10.2.1 图形绘制图形绘制 10.2.2 10.2.2 获取图像获取图像 10.2.3 10

2、.2.3 音频处理音频处理 10.2.4 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程序相比 优点:优点:webweb浏览器提供了运行浏览器提供了运行AppletApplet所需要的许多功能;所需要的许多功能;AppletApplet是在运行时

3、通过网络从服务器端下载的,因而是在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新。便于软件的发布和及时更新。 局限性:不能在客户机上读写当地文件;也不能连接局限性:不能在客户机上读写当地文件;也不能连接除它所在的服务器以外的其它机器。除它所在的服务器以外的其它机器。9.1.1 小程序概述小程序概述1.1. APPLET 5.5. PARAM NAME= 6.6. 10.1.2 Applet类类1Applet类的继承关系 AppletApplet类是所有类是所有AppletApplet应用的基类,所有的应用的基类,所有的JavaJava小应小应用程序都必须继承该类。用程序都必须继承

4、该类。AppletApplet类的继承关系如下:类的继承关系如下:10.1.2 Applet类类2Applet类的主要方法构造方法功能Applet()构造一个新Applet。方法功能public void destroy() 浏览器或appletviewer调用,通知此applet它正在被回收,它应该销毁分配给它的任何资源。public AccessibleContext public getAccessibleContext() 获取与此Applet关联的AccessibleContext。10.1.3 小程序的生命周期小程序的生命周期小程序的生命周期是指一个applet程序从被下载起,到被

5、系统回收所经历的过程,如下图所示。图10.1小程序的生命周期离开页面Init()start()stop()destroy()再次访问页面9.1.3 小程序的生命周期小程序的生命周期Applet中的主要方法: (1 1)init()init()方法:其任务是初始化工作,仅被调用一次:方法:其任务是初始化工作,仅被调用一次: (2 2)start()start()方法:在方法:在init( )init( )方法执行后,就自动调用方法执行后,就自动调用start( )start( )方法方法, ,可多次调用执行。可多次调用执行。 (3 3)stop()stop()方法:离开方法:离开AppletAp

6、plet所在的页面转到其他页面时调用所在的页面转到其他页面时调用此方法。此方法。 (4 4)destroy()destroy()方法:浏览器结束浏览时执行此方法方法:浏览器结束浏览时执行此方法 (5 5)paint(Graphics g)paint(Graphics g)方法:显示文字、图形和其它界面元素。方法:显示文字、图形和其它界面元素。 (6 6)public void update( Graphics g )public void update( Graphics g )方法:先用背景色填方法:先用背景色填充充WebWeb页面,以达到清除画面的目的,然后自动调用页面,以达到清除画面的目

7、的,然后自动调用paint( )paint( )方方法重新输出。法重新输出。 (7 7)repaint()repaint()方法:程序先清除方法:程序先清除paintpaint方法以前所画的内容,方法以前所画的内容,然后再调用然后再调用paint()paint()方法。方法。9.1.4 Applet的显示的显示 Applet Applet类利用类利用paint()paint()、update()update()和和repaint()repaint()三个三个方法来实现图形的显示。在方法来实现图形的显示。在AppletApplet中,中,AppletApplet的显示更的显示更新时由一个专门的新

8、时由一个专门的AWTAWT线程控制的,该线程主要负责两种线程控制的,该线程主要负责两种处理:第一种是在处理:第一种是在AppletApplet的初次显示,或运行过程中浏的初次显示,或运行过程中浏览器窗口大小发生变化而引起览器窗口大小发生变化而引起AppletApplet的显示发生变化时,的显示发生变化时,该线程将调用该线程将调用paint()paint()进行进行AppletApplet绘制;第二种是绘制;第二种是AppletApplet代码需要更新显示内容,从程序中调用代码需要更新显示内容,从程序中调用repaint()repaint()方法,方法,则则AWTAWT线程在接受到该方法的调用后

9、,将调用线程在接受到该方法的调用后,将调用AppletApplet的的update()update()方法,而方法,而update()update()方法再调用方法再调用paint()paint()方法实现方法实现显示的更新,如图显示的更新,如图10-210-2所示。所示。9.1.4 Applet的显示的显示paint(Graphics g)paint(Graphics g)方法:用来在方法:用来在AppletApplet界面中显示文字、图形和其他界面中显示文字、图形和其他界面元素。它有一个固定的参数界面元素。它有一个固定的参数GraphicsGraphics类的对象类的对象g g。可以多次。

10、可以多次调用。格式为:调用。格式为:public void paint(Graphics g)public void paint(Graphics g) public void update(Graphics g)public void update(Graphics g)方法:先用背景色填充方法:先用背景色填充WebWeb页面,以页面,以达到清除画面的目的,然后自动调用达到清除画面的目的,然后自动调用paint( )paint( )方法重新输出。格式方法重新输出。格式为:为:public void update (Graphics g)public void update (Graphics

11、 g) repaint()repaint()方法:程序先清除方法:程序先清除paintpaint方法以前所画的内容,然后再调用方法以前所画的内容,然后再调用paint()paint()方法。本质上通过调用方法。本质上通过调用update( )update( )方法实现。格式为:方法实现。格式为:public void repaint ()public void repaint () 综上所述,一个综上所述,一个Java AppletJava Applet的一般格式为:的一般格式为:public class myclassname extends java.applet.Appletpublic

12、 class myclassname extends java.applet.Applet public void init () public void init () public void start() public void start() public void stop() public void stop() public void destroy() public void destroy() public void paint(Graphics g) public void paint(Graphics g) 9.1.5 Applet程序和程序和Application程序结

13、合使用程序结合使用如前所述,如前所述,AppletApplet程序必须嵌入在浏览器中才可运行,而程序必须嵌入在浏览器中才可运行,而ApplicationApplication程序则可独立运行,且从程序则可独立运行,且从main()main()方法开始执方法开始执行。那么能不能设计一个既是行。那么能不能设计一个既是AppletApplet程序又是程序又是ApplicationApplication程序的程序的JavaJava程序呢?答案是肯定的。实现的程序呢?答案是肯定的。实现的基本思路是从基本思路是从AppletApplet类派生子类,并让该类包含类派生子类,并让该类包含main()main(

14、)方法。方法。例如以下就是一个既是例如以下就是一个既是AppletApplet程序也是程序也是ApplicationApplication程序的程序的JavaJava程序。程序。1.1./程序名称:程序名称:Exam100103.javaExam100103.java2.2./功能:演示一个既是功能:演示一个既是AppletApplet程序也是程序也是ApplicationApplication程序的程序的JavaJava程程序序3.3.import java.awt.import java.awt.* *; ;4.4.import java.applet.import java.applet

15、.* *; ; 5.5.public class Exam100103 extends Appletpublic class Exam100103 extends Applet6.6.String str=; String str=; 7.7.public void paint(Graphics g) public void paint(Graphics g) 8.8.g.drawString(This is an Applet!,100,100);g.drawString(This is an Applet!,100,100);9.9. 10.10.public static void ma

16、in(String args)public static void main(String args)11.11.System.out.println(This is an System.out.println(This is an Application!);Application!);12.12. 13.13. 10.2 Applet程序典型应用程序典型应用10.2.1 图形绘制10.2.2 获取图像10.2.3 音频处理10.2.4 动画处理10.2.1 图形绘制图形绘制1Graphics 类介绍Graphics 类是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以

17、及闭屏图像上进行绘制。Graphics2D 类扩展 Graphics 类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在 Java(tm) 平台上呈现二维形状、文本和图像的基础类。本节只介绍如何基于Graphics 类绘制各类图形。2Graphics类的构造方法及常见方法表10-1给出Graphics类的构造方法及常见方法。略3Graphics类的应用略10.2.2 获取图像获取图像在Java中,图像由一个java.awt.Image类的对象来表示。java.applet、java.awt、java.awt.image包中,包含了支持图像的类和方法。目前,Java所支

18、持的图像格式有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

19、,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 获取图像获取图像此外,调用Ima

20、ge类的两个方法就可以分别得到原图的宽度和高度,它们的调用格式如下: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 soundFi

21、le);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 对象。 不管音频剪辑存在与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论