项目5.ppt
《项目5.ppt》由会员分享,可在线阅读,更多相关《项目5.ppt(51页珍藏版)》请在三一文库上搜索。
1、项目5 Applet程序设计,5.1 项目概述 5.2 项目目的 5.3 项目支撑知识 5.4 项目实施 5.5 项目总结 5.6 扩展演练,本项目为Java Applet程序。,返回,5.1 项目概述,5.2 项目目的,掌握Applet的运行机制。 理解Applet的生命周期。 了解Applet声音和图像的使用。,返回,5.3 项目支撑知识,Applet的生命周期中有4个状态:初始态、运行态、停止态和消亡态。当Applet程序所在的浏览器图标化或者是转入其他页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态;在停止态中,如果浏览器又重新装载该Applet程序所在的
2、页面,或者是浏览器从图标中复原,则Applet程序马上调用start()方法,进入运行态;当然,在停止态时,如果浏览器关闭,则Applet程序调用destroy()方法,进入消亡态。,下一页,返回,5.3 项目支撑知识,5.3.1项目开发背景知识1 Applet类的层次关系 Applet类位于Java.applet包中,是一个图形类。Applet类在Java类的层次关系如图5-1所示。 Panel是Applet类的父类,因此Applet类继承了Panel的特性,Panel类是用于进行图形用户界面的一个类,本书将在后续帝节中介绍。与Panel不同的是,Applet类是一个可以运行的类,创建App
3、let子类就可以运行Applet应用程序。,上一页,下一页,返回,5.3 项目支撑知识,Applet类提供了applet及其运行环境之间的标准接口。Applet类是Panel的子类,则Applet也是一种容器,可以当做AWT布局的开始。Applet默认的布局为流(flow)布局管理器。Component, Container和Panel类的方法被Applet类继承了下来。 JApplet类是Java.applet.Applet的子类,它添加了对Swing组件架构的支持。JApplet包含一个JRootPane作为其唯一子类。contentPane应该是JApplet任何子类的父类。具体使用方法
4、可以参考Swing组件的API使用说明。,上一页,下一页,返回,5.3 项目支撑知识,5.3.2项目开发背景知识2 Applet的创建 以下程序段创建了一个名为MyJavaApplet的小程序,其中MyJavaApplet类是Applet的子类。,上一页,下一页,返回,5.3 项目支撑知识,说明: (1)主类必须是Applet的子类,是public类型的,应以与类名一致的文件名存盘。 (2)Applet是Panel的子类,因此可以在Applet上添加组件,设计图形用户界面,使得用户可以在Web页面中进行交互操作。 (3)Applet是由浏览器调用的,不需要main方法。 5.3.3项目开发背景
5、知识3 Applet的生命周期,上一页,下一页,返回,5.3 项目支撑知识,Applet的生命周期有4个主要方法:init(),start(),stop()和destroy()。 1.初始化:init() public void init() 当Applet所在网页第一次被加载或重新加载时调用此方法,并且仅执行一次,实现获取Applet的运行参数、加载图像或图片、初始化全程变量等。,上一页,下一页,返回,5.3 项目支撑知识,2.启动:start() public void slart() 当Applet所在网页第一次被加载或重新加载时,执行完init()方法后,start()就自动开始执行,
6、使得Applet成为“活动”的。或者当浏览器在链接到另一个URL后又重新返回其所在的网页时,start()就会再执行一遍。与init()方法不同的是start()方法在小应用程序的整个生命周期中可以被调用多次,用于启动小应用程序的执行。此方法是Applet应用程序的主要部分。,上一页,下一页,返回,5.3 项目支撑知识,3.停止:stop() public void slop() 该方法在生命周期中可以被多次调用。每当用户离开Applet所在网页,使该网页变成不活动状态或最小化浏览器时执行。如果浏览器又回到此页,则start()又被调用来启动Java Applet Applet通常用该方法使声
7、音和动画这些耗用系统资源的工作停止,避免影响系统的运行速度。如果用户在小程序中设计了播放音乐的功能,而没有在stop()方法中给出停止播放它的有关语句,那么当离开此页去浏览其他页时,音乐将不能停止。如果没有定义stop()方法,当用户离开Java Applet所在的页面时,Java Applet将继续使用系统的资源。若定义了 stop()方法,则可以挂起Applet的执行。,上一页,下一页,返回,5.3 项目支撑知识,4.删除: destory() public void destroy() 当包含Applet的页面被关闭时,destroy方法由自动浏览器或appletviewer调用,通知此
8、Applet它正在被回收,它应该销毁分配给它的任何资源。可以使用destroy()方法清除Applet占用的资源。在实际应用中,这个方法很少被重载,因为一旦Applet运行结束,Java系统会自动清除它所占用的变量空间等资源。该方法是父类Applet中的方法,不必重写这个方法,直接继承即可。,上一页,下一页,返回,5.3 项目支撑知识,总之,当start()方法运行时,Applet在浏览器上成为可视化的,stop()方法运行时,Applet在浏览器上成为不可视化的,也就是说start()和stop()两个方法构成了Applet生命周期中的可视化周期,占据Web浏览器页面。换句话说:从调用ini
9、t()方法,Applet开始运行,到调用destroy()方法,Applet停止运行,回收资源,这个流程称为Applet的生命周期。如图5-2所示。,上一页,下一页,返回,5.3 项目支撑知识,5.3.4项目开发背景知识4 Applet类的显示方法 Apple本质上是图形方式的,System.out.println()是没有用的,可以创建paint()方法绘图。只要刷新Applet的显示,paint()方法就会被调用。 绘图:paint()方法 public void paint(Graphics g),上一页,下一页,返回,5.3 项目支撑知识,Applet类的此方法用于绘制容器。paint
10、()方法带有一个参数,它是Java.awt Graphics类的一个实例,用于在Applet中绘图或写入文本。Graphic是类是所有图形上下文的抽象基类,允许应用程序可以在组件以及闭屏图像上进行绘制。 public abstract void drawString(String str, int x,int y) Graphics类的此方法使用此图形上下文的当前字体和颜色绘制由指定String给定的文本。最左侧字符的基线位于此图形上下文坐标系统的(x,y)位置处。,上一页,下一页,返回,5.3 项目支撑知识,Str:要绘制的String x:x坐标 y:y坐标 2.重绘:repaint()方
11、法 public void repaint() Applet类的此方法用于重绘组件。当用户使用repaint()方法时,将导致下列事情发生:程序首先清除repaint()方法以前所画的内容,然后再调用repaint()方法。 改变显示可调用repaint()。repaint()将会产生一个调用update()的AWT线程。,上一页,下一页,返回,5.3 项目支撑知识,3.更新:update ( Graphics g)方法 public void update(Graphics g) Applet类的此方法用于更新容器。update方法通常清除当前的显示并调用paint()。 paint(),u
12、pdate()和repaint()方法间的内在关系如图5-3所示。在Applet中,Applet的显示更新由一个专门的AWT线程控制。,上一页,下一页,返回,5.3 项目支撑知识,该线程主要负责两种情况的处理:第一种情况是在Applet的初次显示或浏览器窗口大小发生变化,而引起Applet的显示发生变化时,将调paint()方法进行Applet绘制;第二种情况是Applet代码需要更新内容,从程序中调用二paint()方法,则AWT线程在接收到该方法的调用后,将调用Applet的update()方法,而update()方法再调用构件的paint()方法实现显示的更新。,上一页,下一页,返回,5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目
链接地址:https://www.31doc.com/p-3377969.html