您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 10.Applet介绍
Applet介绍第十章2回顾•类中的静态成员属于类。•final修饰符可应用于类、方法和变量。•定义抽象类的目的是提供可由其子类共享的一般形式。•接口就是需要由其他类实现的行为模板。•访问控制级别:public、protected、缺省、private•封装类就是封装基本数据类型的类。•内部类指嵌入外部类内的类。目标•定义Applet•区分Java应用程序和JavaApplet•描述Applet的生命周期•了解如何将参数传递给Applet•解释如何在Applet中插入多媒体文件JavaApplet基础•Applet是一种为通过Web浏览器在Internet上工作而设计的Java程序。•Applet是用Java编写的小应用程序,它能够嵌入在HTML网页中,并由支持Java的Web浏览器来解释执行。JavaApplet工作原理HTML文件嵌入Applet字节码•从Web上下载的javaApplet是在称为沙箱(sandbox)的安全环境中运行的。•大多数浏览器上,在沙箱中运行时:–Applet绝不能运行任何一个本地可执行程序。–Applet除了可以与从中下载它们的服务器进行通信外,不能与任何主机通信。–Applet不能读写本地计算机的文件系统。–Applet不能查找除版本号等以外的任何关于本地计算机的信息。Applet的安全性Applet是设计用于从远程站点加载,然后在本地执行,因此,安全对于Applet是至关重要的问题。JavaApplet程序的基本结构importjava.applet.*;importjava.awt.*;classextendsApplet{}类名称类成员声明第一个Applet程序importjava.awt.*;importjava.applet.*;publicclassFirstappletextendsApplet{Strings;publicvoidinit(){s=你好,世界!;}publicvoidpaint(Graphicsg){g.drawString(s,70,80);}}覆盖了Applet类的init()方法。该方法主要用于初始化Applet中的变量。覆盖了Applet类的paint()方法。用于在屏幕上给定的位置绘制字符串•Applet源文件首先用Java编译器编译:javacFirstapplet.java•创建一个用于显示Applet的HTML文件:htmlappletcode=Firstappletwidth=200height=200/applet/html•然后在命令提示符处键入下列代码:appletviewerFirstapplet.html编译和运行Applet•要在支持Java的浏览器中查看Applet,则需要加载HTML文件。•Applet会显示为HTML网页的一部分。•要运行Applet,浏览器必须启用Java插件。在浏览器中查看AppletApplet和应用程序之间的区别Applet应用程序Applet基本上是为部署在Web上而设计的应用程序是为作为独立程序工作而设计的Applet是通过扩展java.applet.Applet类创建的应用程序则不受这种限制Applet通过appletviewer或在支持Java的浏览器上运行应用程序使用Java解释器运行Applet的执行从init()方法开始应用程序的执行从main()方法开始Applet必须至少包含一个public类,否则编译器就会报告一个错误。在该类中不一定要声明main()方法。对于应用程序,public类中必须包括main(),否则无法运行。将应用程序转换为Applet•可以将一个图形化的Java应用程序转换成一个Applet。步骤如下:1.取消应用程序中的main方法。2.用Applet或JApplet替换Frame或JFrame,并将此类设为public。否则这个Applet不能被下载。3.去掉应用程序中对窗体的setSize方法和setTitle方法的调用。4.将所有的初始化代码从框架窗口构造函数移至Applet的init方法中。Applet的生命周期2-1•Applet根据执行过程中发生的事件来定义其生命周期。对于每个事件将自动调用一种方法。方法如下:-init():初始化时调用-start():调用init方法之后自动调用这个方法-stop():退出网页时停止执行Applet程序-destroy():离线时释放本对象及其相关的资源Applet的生命周期2-2调用repaint重新绘制Appletstop()启动状态start()paint()Applet正在工作生成的AppletApplet已显示空闲状态Applet已破坏初始状态如果再次调用start()destroy()破坏Appletinit()向Applet传递参数•可以通过HTML文件中的param标记将参数传递给Applet。•参数值使用返回字符串的getParameter()方法在Applet中检索。向Applet传递参数示例importjava.awt.*;importjava.applet.*;publicclassFontPassDemoextendsApplet{Stringquote;Fontf;publicvoidinit(){quote=Happinessisanattitude.;Stringfontname=getParameter(font);intfontsize=Integer.parseInt(getParameter(size));f=newFont(fontname,Font.ITALIC,fontsize);}publicvoidpaint(Graphicsg){g.setFont(f);g.drawString(quote,20,100);}}htmlappletcode=FontPassDemowidth=400height=200paramname=fontvalue=Helveticaparamname=sizevalue=28/applet/html更改参数值将改变字符串显示字体在Applet中插入多媒体•为了在Applet中显示图像,必须执行下列步骤:1.获得要显示的图像的URL。2.决定图像将要显示的位置(坐标)。3.用适当的方法提供所有这些参数。•可以操纵Applet的paint()方法来显示图像。URL与获得多媒体文件•一个URL只是对Internet上一项资源的描述。例如,。•要检索Applet中的图像,必须使用重载的getImage()方法之一。例如:Imageimg=getImage();使用Applet显示图像•要显示图像,需要使用Image类和Graphics类•getCodeBase()获得基本的URL•getImage()方法返回可以在屏幕上绘制的Image对象•drawImage()具有四个参数:Image对象、按x和y坐标表示的位置以及类型为ImageObserver的对象使用Applet显示图像示例importjava.awt.*;importjava.applet.*;publicclassImageDemoextendsApplet{Imagei;publicvoidinit(){i=getImage(getCodeBase(),tu.jpg);}publicvoidpaint(Graphicsg){g.drawImage(i,20,20,this);}}绘制图形2-1•除了文本,还可以绘制图像、矩形、线条、多边形以及其他各种图形。方法用途abstractvoiddrawLine(intx1,inty1,intx2,inty2)在图形环境坐标系中,从x1、y1指定的起始点绘制一条直线到终止点x2、y2voiddrawRect(inttopx,inttopy,intwidth,intheight)绘制一个左上角坐标、宽度和高度已给定的长方形abstractvoidfillRect(inttopx,inttopy,intwidth,intheight)绘制一个左上角坐标、宽度和高度已给定的实心长方形绘制图形2-2方法用途abstractvoiddrawOval(inttopx,inttopy,intwidth,intheight)绘制一个左上角坐标、宽度和高度已给定的椭圆形abstractvoidfillOval(inttopx,inttopy,intwidth,intheight)绘制一个左上角坐标、宽度和高度已给定的实心椭圆形abstractvoiddrawArc(intx,inty,intwidth,intheight,intstartangle,intdegrees)绘制一个x、y坐标、高度、宽度、起始角以及跨越的度数已给定的弧形在Applet中播放声音•可以通过getAudioClip方法检索音频文件。例如:AudioClipm=getAudioClip(getDocumentBase(),abc.au);AudioClipgetAudiClip(URLurl);AudioClipgetAudioClip(URLurl,Stringname);•要使用的是getDocumentBase方法,该方法将返回从其中加载Applet的URL•为了播放音频片段,则会调用它的play方法。voidplay(URL);voidplay(URLurl,Stringname);处理Applet事件•在GUI组件上单击鼠标或按下回车键时将生成事件•在设计Applet时,需要捕获这些事件,并提供需执行的相应操作,以响应每个事件•可以在Applet中使用监听器接口处理各种事件。如:Applet中的鼠标事件可以通过覆盖mouseDown()、mouseUp()和mouseDrag()方法来完成总结2-1•Applet是用Java编写的小应用程序,它能够嵌入在HTML网页中,并由支持Java的Web浏览器来解释执行。•每个用户自定义的Applet都必须扩展java.applet.Applet类。•在HTML文件中用applet../applet标记嵌入类文件。•Applet的缺省布局为FlowLayout。总结2-2•通过paint()、getImage()和drawImage()方法可以在Applet中绘制图像。•可以在Applet中使用监听器接口处理各种事件。•Graphics类用于在屏幕上绘制文本、线条、椭圆形和弧形等对象。
本文标题:10.Applet介绍
链接地址:https://www.777doc.com/doc-3091670 .html