Java实用PPT课件第13章JavaAppl.ppt

上传人:牧羊曲112 文档编号:6509758 上传时间:2023-11-07 格式:PPT 页数:20 大小:383.50KB
返回 下载 相关 举报
Java实用PPT课件第13章JavaAppl.ppt_第1页
第1页 / 共20页
Java实用PPT课件第13章JavaAppl.ppt_第2页
第2页 / 共20页
Java实用PPT课件第13章JavaAppl.ppt_第3页
第3页 / 共20页
Java实用PPT课件第13章JavaAppl.ppt_第4页
第4页 / 共20页
Java实用PPT课件第13章JavaAppl.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Java实用PPT课件第13章JavaAppl.ppt》由会员分享,可在线阅读,更多相关《Java实用PPT课件第13章JavaAppl.ppt(20页珍藏版)》请在三一办公上搜索。

1、1,第13章 Java Applet,本章导读Java Applet的运行原理在网页向Java Applet传值在Java Applet中播放声音在Java Applet中使用组件在Java Applet中绘制图形图像在Java Applet中播放幻灯片Java Applet 网络聊天室,2,13.1 Java Applet的运行原理 _ 1 Java Applet概述,1Java Applet概述 一个Java Applet也是由若干个类组成的,一个Java Applet不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类,我们把这个类称为这个Java

2、Applet的主类。Java Applet的主类必须是public的。Applet类是java.applet包提供的类,Applet类是Container类的一个间接子类,因此Java Applet的实例是一个容器。Java Applet属于Java嵌入式开发的一种,嵌入式程序的主类的实例化由嵌入该程序的环境平台中JVM负责。这样一来,我们必须向这样的平台提供相应的配置文件,嵌入该程序的环境平台使用配置文件通知平台中的JVM建立主类的对象,并产生相应的一些行为。Applet类有5个常用的方法,它们是init(),start(),stop(),destroy()和paint(Graphics g

3、)。,3,13.1 Java Applet的运行原理 _ 2 运行原理,2 运行原理 例13-1说明Java Applet运行原理,效果如图13.1所示。,4,(1)网页的编写,编写一个超文本文件,告诉浏览器来运行这个Java Applet。假设Applet主类的名字是Example13_1,下面是一个简单的html文件“like.html”。like.html文件告诉浏览器运行主类是Example13_1的Java Applet。网页的最终目的是让其他客户通过网络来访问,下载到客户端执行。可以用Web发布管理器,比如,IIS或Tomcat,将含有Java Applet网页所在的目录设成Web

4、服务目录。例如,我们将like.html所在的文件夹D:ch13设为Web服务目录,虚拟目录名称是hello,那么其他用户就可以在其浏览器的地址栏中键入该服务器的IP地址、虚拟目录名称访问含有Java Applet的网页,如。Java Applet的字节码文件会下载到客户端,由客户端的浏览器负责运行。超文本文件like.html可以被看成是运行环境执行Java Applet所要求的配置文件。,5,(2)Java Applet的生命周期,一个Java Applet的执行过程称为这个Java Applet的生命周期。一个Java Applet的生命周期会涉及如下方法的调用执行init(),star

5、t(),stop(),destroy()和paint(Graphics g)。当浏览器执行like.html,发现有applet标记时,浏览器内置的JVM将创建主类Example13_1的一个对象,它的大小由超文本文件like.html中的width和height来确定。由于Applet类也是Container的间接子类,因此主类的实例也是一个容器,容器有相应的坐标系统,单位是像素,原点是容器的左上角。该容器的默认布局是FlowLayout布局,被自动添加到浏览器的桌面上。浏览器内置的JVM创建了主类Boy对象后,立刻通知这个对象调用init()方法完成必要的初始化工作。该对象接着自动调用st

6、art()方法。当浏览器离开Java Applet所在的页面转到其他页面时,主类创建的对象将调用stop()方法。当浏览器结束浏览时,主类创建的对象自动执行destroy()方法,结束Java Applet 的生命。paint(Graphics g)方法可以使一个Java Applet在容器上显示某些信息,如文字、色彩、背景或图像等。浏览器的Java运行环境产生一个Graphics类的实例,并传递给方法paint中的参数g。,6,13.1 Java Applet的运行原理 _ 3关于repaint()方法和update(Graphics g),3关于repaint()方法update(Grap

7、hics g)repaint()方法和update(Graphics g)是Component类中的一个方法。当调用repaint()方法时,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。实际上,当我们调用repaint()方法时,程序自动去调用update(Graphics g)方法,浏览器的Java运行环境产生一个Graphics类的实例,传递给方法update(Graphics g)中的参数g。这个方法的功能是清除paint()方法以前所画的内容,然后再调用paint()方法。因此,我们可以在子类中重写update()方法(即隐藏父类的方法),根据需要来清除

8、哪些部分或保留哪些部分。例13-2在paint()方法中使用了repaint()方法,因此每当Java Applet调用paint()方法时,就会调用update()方法。程序重写了update()方法,清除paint()方法所绘制的部分内容,并紧接着再调用paint()方法。,7,13.2 Java Applet中播放声音,用Java可以编写播放AU、AIFF、WAV、MIDI、RM格式的音频。AU格式是Java早期惟一支持的音频格式。要在Java Applet中播放声音,可以使用Applet类的一个静态的方法(类方法):newAudioClip(URL url,String name)或A

9、pplet类的实例方法getAudioClip(Url url,String name)根据参数url提供的地址和该处的声音文件name,可以获得一个用于播放的音频对象(AudioClip类型对象)。这个音频对象可以使用下列方法来处理声音文件:play()播放声音文件name。loop()循环播放name。stop()停止播放name。例13-3 播放声音。,8,13.3 在网页向Java Applet传值,我们可以在超文本中使用若干个标志把值传递到Java Applet中,这样就实现了动态地向程序传递信息,不必重新编译程序,便于程序的维护和使用。例13-4 在网页向Java Applet传值

10、。,9,13.4 在Java Applet中使用组件,Applet类是容器的间接子类,因此我们可以在这个容器中添加组件,处理组件事件,完成一些工作。如果没有更新浏览器内置的JVM,Java Applet中只能使用JDK 1.1版本公布的java.awt包中的组件,如Button,TextField,TextArea等。例13-5中,我们把Java Applet的布局设置为BorderLayout布局,效果如图13.2所示。Java Applet的中心和北面又分别嵌套了面板(Panel创建的对象)centerPanel和northPanel。centerPanel面板的布局是CardLayout

11、布局、northPanel的布局是默认的FlowLayout布局。在northPanel中添加了两个按钮,centerPanel面板中又嵌套了两个不同的容器,作为centerPanel 中的“卡片”,单击相应的按钮时,centerPanel面板将显示相应的“卡片”,两张卡片分别负责计算圆和三角形的面积。例13-6(效果如图13.3所示)在JApplet的内容面板的中心添加了JTree组件,该组件用来显示日历。网页将年份传值给Japplet,在内容面板的北面添加了两个按钮,两个按钮分别负责向前和向后翻动月份;在内容面板的南面添加了1个标签,用来显示月份和年份。该例子中用到了Calendar类的许

12、多属性和功能。,10,例13-5,13-6 运行效果 图13.2,13.3,11,13.5 在Java Applet中绘制图形 _1,1绘制文本drawstring()方法可以在屏幕上显示串对象。drawString(String s,int x,int y)方法从参数x、y指定的坐标位置处,从左向右绘制参数s指定的字符串。drawChars(char data,int offset,int length,int x,int y)方法绘制data数组中的部分字符,length指定数组中要连续绘制的字符的个数,offset是首字符在数组中的位置。2绘制直线drawLine(int x1,int

13、y1,int x2,int y2)方法绘制从起点(x1,y1)到终点(x2,y2)的直线段。3绘制矩形drawRect(int x,int y,int w,int h)方法绘制矩形,fillRect(int x,int y,int w,int h)方法填充矩形。矩形的左上角的坐标由参数x和y指定,矩形的宽和高由参数w和h指定。4绘制圆角矩形drawRoundRect(int x,int y,int w,int h,int arcW,int arcH)方法绘制圆角矩形,fillRoundRect(int x,int y,int w,int h,int arcW,int arcH)方法填充圆角矩形

14、。参数arcW和arcH指定圆角的尺寸,见图13.4中的4个黑角部分。,12,图13.4,13,13.5 在Java Applet中绘制图形_2,6绘制圆弧 圆弧就是某个椭圆的一部分。drawArc(int x,int y,int width,int height,int starAngle,int arcAngle)方法绘制圆弧。fillArc(int x,int y,int width,int height,int starAngle,int arcAngle)方法填充圆弧。x、y、width、heigth指定椭圆的位置和大小,参数starAngle和 arcAngle的单位都是“度”。而

15、起始角度的0是3点钟的方位。参数starAngle和arcAngle表示从starAngle的角度开始逆时针或顺时针方向画arcAngle度的弧,当arcAngle是正值时为逆时针,否则为顺时针。starAngle的值可以是负值,如-90是6点钟的方位。7绘制多边形drawPolygon(int xPoints,int yPoints,int nPoints)方法绘制多边形。fillPolygon(int xPoints,int yPoints,int nPoints)方法填充多边形。参数数组xPoint和yPoint组成多边形的顶点坐标,nPoints是顶点的数目。注:Java自动闭合多边形

16、,程序总是把最后的顶点和第一个顶点连接起来。例13-7绘制了一些基本图形,效果如图13.5所示。,14,例13-7机制运行效果图13.5,15,13.6 在Java Applet中绘制图像,图像是矩形内的一组像素。Java支持主要两种图像格式GIF(Graphics Interchang Format)和JPEG(Join Phtographic Expert Group)。public Image getImage(URL url,String name)Applet类提供的方法,返回可以被显示在屏幕上的Image对象的引用。public URL getCodeBase()从Applet继承

17、的方。该方法返回一个URL对象。public URL getDocumentBase()该方法返回一个URL对象,public boolean drawImage(Image img,int x,int y,ImageObserver observer)Graphics类提供。如public void paint(Graphics g)g.drawImage(img,0,3,this);public boolean drawImage(Image img,int x,int y,int width,int height,ImageObserver observer)。该方法在矩形内绘制加载的图

18、像。如果不想让图像有比例上的变化,在绘制之前可以通过Image类提供的方法获取被加载的图像的宽和高,如img.getHeight(this);img.getWidth(this);例13-8绘制了两幅图像,效果如图13.6所示。,16,例13-8运行效果图13.6,17,13.7 在Java Applet 播放幻灯片,HTML也可以将图片贴到网页上去,但在HTML中播放幻灯片确实是一件不现实的事情,因为为了看幻灯片必须在多个网页间切换,这是件痛苦的事情。在下面这个Java Applet中,用户只需单击“next”按钮和“previous”按钮就可以前后变换幻灯片。例13-9 在HTML中播放幻

19、灯片。,18,13.8 Java Applet网络聊天室,虽然Java Applet的字节码驻留在服务器端,但它需要下载到客户端的浏览器来运行,因此Java Applet是客户端程序。Java Applet与应用程序的一个不同之处是Java Applet只能和它所驻留的服务器建立套接字连接。Applet有一个方法public URL getDocumentBase(),该方法返回一个嵌入Java Applet的网页的URL对象,该URL对象再调用public String getHost()方法可以获取其中含有的IP地址。例13-10实现了一个网络公共聊天室,效果如图13.7所示。一个用户使用自己浏览器中的Java Applet输入字符串并发送给服务器,服务器把该字符串返回给所有的用户的浏览器中的Java Applet。,19,例13-10 运行效果图13.7,20,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号