Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第9章-Applet

上传人:E**** 文档编号:89346896 上传时间:2019-05-23 格式:PPT 页数:23 大小:579KB
返回 下载 相关 举报
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第9章-Applet_第1页
第1页 / 共23页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第9章-Applet_第2页
第2页 / 共23页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第9章-Applet_第3页
第3页 / 共23页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第9章-Applet_第4页
第4页 / 共23页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第9章-Applet_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第9章-Applet》由会员分享,可在线阅读,更多相关《Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第9章-Applet(23页珍藏版)》请在金锄头文库上搜索。

1、第9章 Applet小程序开发,本章学习目标,熟悉Applet技术。 掌握Applet开发步骤。 理解Applet小程序的生命周期。 掌握Graphics类的用法。,Applet概述,Applet技术一出现,互联网立刻焕发出无限的生机,因为Applet不仅可以生成绚丽多彩的Web页面、进行良好的人机交互,同时还能处理图形图像、声音、视频和动画等多媒体数据,随即它吸引了全世界编程者的目光,Java语言也正因此火热流行起来,可见Applet在Java的发展过程中起到不可估量的推动作用。,Applet开发步骤,Applet的开发步骤大致可以分为以下三个步骤: (1)用UltraEdit或Notepa

2、d等纯文本软件编辑Java Applet源程序。 (2)利用javac编译器将Applet源程序转换成class字节码文件。 (3)编写HTML页面,并通过APPLET/APPLET标签引用上述字节码文件。,一个简单的例子,import java.awt.*; import java.applet.*; public class HelloApplet extends Applet public void paint(Graphics g ) g.drawString(“Hello!“,10,10); g.drawString(“Welcome to Applet Programming!“,

3、30,30); ,HTML网页, Hello Applet ,嵌入网页效果,Applet技术解析,Applet类是用户编写的applet小程序的基类,该基类的继承关系如下图所示。,Applet生命周期,Applet小程序的生命周期相对于Application而言较为复杂。在其生命周期中涉及到Applet类的四个方法: init()、start()、stop()和destroy(),Applet的生命周期中有相对应的四个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法以后,Applet小程序就进入了初始态;然后立刻执行start()方法,Applet小程序进入运行态;当Appl

4、et小程序所在的浏览器图标化或者是转入其它页面时,该Applet小程序立刻执行stop ()方法,使Applet小程序进入停止态;在停止态中,如果浏览器又重新加载该Applet小程序所在的页面,或者是浏览器从图标中还原,则Applet小程序又会调用start()方法,进入运行态;不过,在停止态时,若浏览器被关闭,则Applet小程序会调用destroy()方法,使其进入消亡态。,paint()方法,Applet小程序的窗口绘制通常是由paint()方法来完成的。paint()方法在小程序执行后会被自行调用,并且以后在遇到窗口缩小化后再恢复或者被其他窗口遮挡后再恢复情形,它都会被自动调用,以重新

5、绘制窗口。 paint()方法包含一个Graphics类的参数对象,这个对象可以被用来输出文本、绘制图形、显示图像等。该方法的格式如下: public void paint(Graphics g) /编写代码 ,Applet多媒体编程-文字,import java.awt.*; import java.applet.*; public class TextApplet extends Applet Font f1 = new Font(“Times New Roman“,Font.PLAIN,12); Font f2 = new Font(“宋体“,Font.BOLD,24); Font f3

6、 = new Font(“黑体“,Font.BOLD,36); Color c1 = new Color(255,0,0); /红色 Color c2 = new Color(0,255,0); /绿色 Color c3 = new Color(0,0,255); /蓝色 public void paint(Graphics g) g.setFont(f1); g.setColor(c1); g.drawString(“Times New Roman“,20,30); g.setFont(f2); g.setColor(c2); g.drawString(“宋体“,20,60); g.setF

7、ont(f3); g.setColor(c3); g.drawString(“黑体“,20,120); ,Applet多媒体编程-图形,import java.awt.*; import java.applet.*; public class LineApplet extends Applet public void paint(Graphics g) int x1,y1,x2,y2; x1 = 10; y1 = 10; x2 = 100; y2 = 100; g.drawLine(x1,y1,x2,y2); ,Applet多媒体编程-图形,import java.awt.*; import

8、java.applet.*; public class RectApplet extends Applet public void paint(Graphics g) g.drawRect(10,10,60,60); g.fillRect(80,10,60,60); ,Applet多媒体编程-图形,import java.awt.*; import java.applet.*; public class PolyApplet extends Applet public void paint(Graphics g) int x = 30,90,100,140,50,60,30 ; int y =

9、 30,70,40,70,100,80,100 ; int pts = x.length; g.drawPolygon(x,y,pts); ,import java.applet.*; public class LampApplet extends Applet public void paint(Graphics g) /绘制灯上的黑点 g.fillArc(78,120,40,40,63,-174); g.fillArc(173,100,40,40,110,180); g.fillOval(120,96,40,40); /绘制灯的上下轮廓 g.drawArc(85,157,130,50,-6

10、5,312); g.drawArc(85,87,130,50,62,58); /绘制灯的左右轮廓 g.drawLine(85,177,119,89); g.drawLine(215,177,181,89); /绘制灯柱线 g.drawLine(125,250,125,160); g.drawLine(175,250,175,160); /绘制底座 g.fillRect(10,250,260,30); ,图像,import java.awt.*; import java.applet.*; public class PicApplet extends Applet Image pic; /图像对

11、象 public void init( ) pic=getImage(getCodeBase(),“fish.jpg“); /获得图片 public void paint(Graphics g) g.drawImage(pic,30,30,this); ,声音,import java.awt.*; import java.applet.*; public class AudioApplet extends Applet AudioClip audio; /声音对象 public void init( ) audio=getAudioClip(getCodeBase(),“fire.au“);

12、/获得声音 public void paint(Graphics g) g.drawString(“循环播放声音的Applet小程序“,30,30); public void start( ) audio.loop( ); /循环播放声音 public void stop( ) audio.stop( ); /停止播放 ,动画,所谓动画就是通过连续播放一系列画面,给视觉造成连续变化的图画,这是动画最基本的原理。 在屏幕上显示一系列连续动画的第一帧图像,然后每隔很短的时间再显示下一帧图像,如此往复,利用人眼视觉的暂停现象,感觉画面的物体在运动。,用多线程实现动画文字,在Java中实现多线程有两种

13、方法:一种是继承Thread类;另外一种是实现Runnable接口,对于Applet小程序,我们一般是实现Runnable接口。实现动画文字与实现动画的方法是一样的,可以通过实现Runnable接口来实现多线程绘出动画文字,使文字像打字一样一个文字一个文字地跳出来,然后全部隐去,再重复显示文字,实现打字效果。,显示动画,public class MovingImg extends Applet Image img0,img1; int x=10; public void init() img0=getImage(getCodeBase(),“T5.gif“); img1=getImage(ge

14、tCodeBase(),“T1.gif“); public void paint(Graphics g) g.drawImage(img0,0,10,this); g.drawImage(img1,x,30,this); g.drawImage(img0,0,60,this); try Thread.sleep(50); x+=5; if(x=550) x=10; Thread.sleep(1500); catch(InterruptedException e) repaint(); ,运行上述Applet时画面有闪烁的现象。一般来说,画面越大,闪烁越严重。 避免闪动的方法有两个,一是通过覆盖

15、update()方法,二是使用buffer屏幕缓冲区。 若画面较大,只使用update()以背景色清除显示区的时间就较长,不可避免地会产生闪烁,可以通过双缓冲技术,有效地消除闪烁。,双缓冲技术简介,双缓冲技术在显示动画之前,首先创建两个图形缓冲区,一个为前台的显示缓冲,一个为后台的图形缓冲,然后在显示(绘制)图形时,对两个缓冲区进行同步的图形数据更新,该操作相当于为前台显示区的数据作了一个后台的图形数据备份,当前台显示区的图形数据需要恢复时,可以用后台备份的图形数据来恢复,其具体方法则是重写paint()和update()方法,将备份好的图形数据一次性地画到显示屏幕上。,作业,1 2 3 6,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号