《第9章 Java的Applet编程.ppt》由会员分享,可在线阅读,更多相关《第9章 Java的Applet编程.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9 9章章 JavaJava的的AppletApplet编程编程下一页上一页返回开始主要内容主要内容n9.1JavaApplet概述概述nApplet的生命周期的生命周期nApplet的绘图周期的绘图周期n9.2实现一个简单的实现一个简单的Applet程序程序nApplet程序编写与编译程序编写与编译n将将Applet嵌入嵌入Web网页网页nApplet的执行的执行n9.3Applet生命周期状态切换举例生命周期状态切换举例n9.4Applet的常用方法的常用方法n9.5Applet的安全限制的安全限制n作业作业2Java的Applet编程下一页上一页返回开始9.1Javaapplet概述
2、概述Java小应用程序(小应用程序(JavaApplet)是使用是使用Java语语言编写的一段代码,它能够在浏览器环境中运行。言编写的一段代码,它能够在浏览器环境中运行。Applet与与Application地主要区别在于它们的执地主要区别在于它们的执行方式不同:行方式不同:Application是使用命令行命令直接是使用命令行命令直接运行,从其运行,从其main()方法开始运行的方法开始运行的;而而Applet则则是在浏览器中运行的,首先必须创建一个是在浏览器中运行的,首先必须创建一个HTML文文件,件,通过编写通过编写HTML语言代码告诉浏览器载入何种语言代码告诉浏览器载入何种Applet
3、以及如何运行,再在浏览器中给出该以及如何运行,再在浏览器中给出该HTML文件的文件的URL地址即可,地址即可,Applet本身的执行过程也较本身的执行过程也较Application复杂。复杂。3Java的Applet编程下一页上一页返回开始njava.lang.Objectnjava.awt.Componentnjava.awt.Containernjava.awt.Panelnjava.applet.Appletnjavax.swing.JApplet4Java的Applet编程下一页上一页返回开始1.编写一个编写一个Appletn编写一个Applet,必须首先从java.applet.Ap
4、plet派生一个类,之前必须加上public:import java.applet.*;public class SimpleApplet extends Applet n如果使用Swing组件编写applet,则applet必须扩展javax.swing.JApplet类来实现,以JApplet作为顶层容器,在其中加入Swing组件,从而保证所有的绘图和更新动作都能够正确地执行。5Java的Applet编程下一页上一页返回开始2.Applet的程序结构的程序结构下面是一个简单的applet的程序结构。如图:public class SimpleJApplet extends JAppletp
5、ublic void init()public void start()public void stop()public void destroy()public void paint(Graphics g)6Java的Applet编程下一页上一页返回开始Java.applet.Appletpublic void init()public void destroy()public void start()public void stop()public void paint(Graphics g)7Java的Applet编程下一页上一页返回开始n编程时可按此结构进行这编程时可按此结构进行这5个
6、关键方法覆盖,个关键方法覆盖,但并不是每个但并不是每个applet都要覆盖这些方法,有都要覆盖这些方法,有些简单的些简单的applet可以一个方法也不覆盖。可以一个方法也不覆盖。napplet一开始运行,就会由浏览器或一开始运行,就会由浏览器或appletviewer自动启动两个线程周期。一个自动启动两个线程周期。一个是生命周期,另一个是绘图周期。是生命周期,另一个是绘图周期。8Java的Applet编程下一页上一页返回开始 初始态(瞬态)初始态(瞬态)运行态运行态停止态停止态消亡态消亡态离开离开web页面:极小页面:极小化或装入其他页面,化或装入其他页面,调用调用stop()方法方法重新装入
7、或改变页面重新装入或改变页面大小或返回大小或返回Web页面,页面,调用调用start()方法方法关闭浏览器,调用关闭浏览器,调用destroy()方法方法第一次装入,构造第一次装入,构造applet类,调用类,调用init()方法方法调用调用start()方法方法9.1.1 Applet的生命周期9Java的Applet编程下一页上一页返回开始nApplet中没有中没有main()方法。当方法。当Applet被浏被浏览器运行时,览器运行时,init()、start()、stop()、destroy()方法等自动执行:方法等自动执行:ninit()方法:初始化,自动调用,只执行一次。方法:初始化
8、,自动调用,只执行一次。本方法主要完成一些在本方法主要完成一些在Applet构造方法所不不能构造方法所不不能完成的工作。完成的工作。10Java的Applet编程下一页上一页返回开始start()方法:初始化后,重入等都将自动调用。方法:初始化后,重入等都将自动调用。本方法是本方法是Applet的主体,在其中可以执行一些任的主体,在其中可以执行一些任务或启动相关的线程来执行任务。务或启动相关的线程来执行任务。stop()方法:离开方法:离开Applet所在页面时调用,以所在页面时调用,以停止消耗系统资源。停止消耗系统资源。destroy()方法:浏览器关闭时自动调用,以清方法:浏览器关闭时自动
9、调用,以清除除Applet所用的所有资源。所用的所有资源。11Java的Applet编程下一页上一页返回开始9.1.2Applet的绘图周期的绘图周期napplet程序中所采用的绘图机制主要涉及三程序中所采用的绘图机制主要涉及三个方法:个方法:paint()方法、方法、update()方法和方法和repaint()方法。方法。update()方法和方法和paint()方法都有方法都有一个一个Graphics类的对象作为参数。类的对象作为参数。Graphics是画图的关键,它可以支持两种绘是画图的关键,它可以支持两种绘图:一种是基本的绘图,如:画线、矩形、图:一种是基本的绘图,如:画线、矩形、圆
10、等;另一种是加载并显示图像,主要用于圆等;另一种是加载并显示图像,主要用于动画制作。动画制作。12Java的Applet编程下一页上一页返回开始Applet绘图周期各方法之间的调用关系绘图周期各方法之间的调用关系13Java的Applet编程下一页上一页返回开始9.2实现一个简单的实现一个简单的Applet程序程序n9.2.1Applet程序编写与编译程序编写与编译n1.Applet程序编写程序编写【例例9.1】按照按照applet程序结构,编写一个简程序结构,编写一个简单的单的applet,即在,即在applet上绘制上绘制“WelcometoJavaProgramming!”。源程序如下:
11、源程序如下:/WelcomeApplet.javaimportjava.awt.Graphics;importjavax.swing.JApplet;14Java的Applet编程下一页上一页返回开始publicclassWelcomeAppletextendsJAppletpublicvoidpaint(Graphicsg)super.paint(g);/调用超类调用超类JApplet的的paint方法方法/在坐标为(在坐标为(25,25)的位置显示字符串)的位置显示字符串g.drawString(WelcometoJavaPrograming!,25,25);15Java的Applet编程
12、下一页上一页返回开始n【程序说明程序说明】Javaapplet中不需要中不需要main方法,要求程序中有且必须有一个类是系统方法,要求程序中有且必须有一个类是系统类类Applet(在(在java.awt包中)或包中)或JApplet(在(在java.swing包中)的子类。包中)的子类。paint方法方法表示它将在表示它将在WWW所显示的所显示的Web页面需要重页面需要重画时画时(窗口移动或放缩时窗口移动或放缩时)被浏览器自动调用被浏览器自动调用并执行。并执行。16Java的Applet编程下一页上一页返回开始2.Applet的编译的编译n如同应用程序的类,执行前必须对如同应用程序的类,执行前
13、必须对applet类类进行编译,在命令行状态使用进行编译,在命令行状态使用javac命令对命令对WelcomeApplet.java进行编译,得到进行编译,得到WelcomeApplet.class类文件。命令如下:类文件。命令如下:njavacWelcomeApplet.java17Java的Applet编程下一页上一页返回开始9.2.2将将applet嵌入嵌入Web网页网页napplet必须嵌入必须嵌入Web页,并在页,并在applet容器容器(appletviewer或浏览器)中才能运行,所或浏览器)中才能运行,所以在执行以在执行applet之前,必须创建之前,必须创建HTML文件,文件
14、,指明指明applet容器应装入和执行哪个容器应装入和执行哪个applet。n通常通常HTML文档以文档以“.html”或者或者“.htm”扩扩展名结尾。展名结尾。标记用于在标记用于在Web页面页面中嵌入中嵌入applet,头标签,头标签与尾标签与尾标签必须成对出现。必须成对出现。下面介绍与下面介绍与Applet程序有关的程序有关的HTML文件标记。文件标记。18Java的Applet编程下一页上一页返回开始HTML中中applet标记的使用标记的使用.alternateHTML19Java的Applet编程下一页上一页返回开始ARCHIVE=archiveList File1,File2,给
15、出了给出了Applet类及其运行时所需的类所在的卷文件名。类及其运行时所需的类所在的卷文件名。CODEBASE=codebaseURL指明指明Applet类文件所在类文件所在URL基址,在基址,在Applet类中,方法类中,方法getCodeBase()可以获取该属性。如果这个属性没有指明,那么可以获取该属性。如果这个属性没有指明,那么Applet类文件必须与包含类文件必须与包含它的它的HTML页面在同一个地方,方法页面在同一个地方,方法getCodeBase()返回的值与返回的值与getDocumentBase()相同。相同。CODE=appletFile指明需要运行的指明需要运行的Appl
16、et类文件(类文件(.class文件),该文件是与文件),该文件是与codebaseURL相关的。相关的。NAME=appletInstanceName给出了给出了Applet类运行时的实例名,这使得同处于一个页面的不同类运行时的实例名,这使得同处于一个页面的不同Applet之之间能够相互通信。方法间能够相互通信。方法getAppletContextgetAppletContext()()可以得到同一个方页面中其它可以得到同一个方页面中其它AppletApplet类。类。20Java的Applet编程下一页上一页返回开始ALT=alternateText 如果浏览器支持Applet但不能运行它
17、,就显示alternateText中所给出的文字。否则就忽略它。WIDTH=pixels HEIGHT=pixels Applet在浏览器中所显示的高度和宽度(以象素为单位)。ALIGN=alignment Applet在浏览器中显示时的对齐方式,其含义与效果与图片在HTML中的一样。其取值有:left,right,top,texttop,middle,absmiddle,baseline,bottom,absbottom。VSPACE=pixels HSPACE=pixels Applet在浏览器中显示时上下、左右要预留的高度和宽度,其含义与效果与图片在HTML中的一样。21Java的App
18、let编程下一页上一页返回开始属性可以使得属性可以使得Applet能够从页面中获取所需的能够从页面中获取所需的参数。参数。Applet可以用其方法可以用其方法getParametergetParameter()()获取获取属性属性指定的参数。指定的参数。属性的作用与应用程序中属性的作用与应用程序中main()方法里参数方法里参数String args的作用是一样的。的作用是一样的。一个好的小应用程序,应该提供用户能够设置外部参数的功一个好的小应用程序,应该提供用户能够设置外部参数的功能,以使得用户能够根据自己的需要来应用它。方法能,以使得用户能够根据自己的需要来应用它。方法getParamet
19、erInfogetParameterInfo()()可以可以得到有关得到有关属性的说明信息。属性的说明信息。alternateHTML如果浏览器不支持如果浏览器不支持Applet,就解释就解释alternateHTML所给出所给出的的HTML代码。否则就忽略它。代码。否则就忽略它。22Java的Applet编程下一页上一页返回开始最简形式最简形式n则则welcome.html文档内容如下:文档内容如下:n在这里,通过在这里,通过codebase属性指明要装载的属性指明要装载的类文件类文件WelcomeApplet.class位于当前目录位于当前目录的的class子目录下。子目录下。23Java
20、的Applet编程下一页上一页返回开始9.2.3Applet的执行的执行24Java的Applet编程下一页上一页返回开始执行执行applet的两种方法的两种方法n方法方法1.使用使用appletviewer运行运行applet运行运行applet的一种方法是使用的一种方法是使用JDK的内置命的内置命令令appletviwer。在命令行状态,输入命令:。在命令行状态,输入命令:nappletviewerwelcome.htmln方法方法2.使用浏览器运行使用浏览器运行appletn运行运行applet的另一种方法是使用支持的另一种方法是使用支持java浏览器。浏览器。此处使用此处使用IE浏览器
21、。在地址栏中输入浏览器。在地址栏中输入HTML文档文档的的URL地址即可地址即可n演示演示25Java的Applet编程下一页上一页返回开始9.3applet生命周期状态切换举例生命周期状态切换举例nApplet生命周期的状态切换生命周期的状态切换,可参考教材,可参考教材中中【例例9.2】26Java的Applet编程下一页上一页返回开始9.4Applet的常用方法的常用方法nURL说明说明nURL(UniformResourceLocator,统一资源,统一资源定位符定位符),它是,它是Internet和和WWW的门户,用来的门户,用来标识标识Internet资源的地址。通常情况下,资源表资源的地址。通常情况下,资源表示一个文件,如一个示一个文件,如一个HTML文档、一个图像文件文档、一个图像文件或一个声音片断等。或一个声音片断等。URL的通用格式是:的通用格式是:n:/nURL类类(全名全名.URL)有多种构造方有多种构造方法来描述各种类型的法来描述各种类型的URL。27Java的Applet编程下一页上一页返回开始(1)绝对)绝对URL的构造方法的构造方法:URL(Stringspec)例例:URLurl=newURL(“http:/
限制150内