Java的Applet编程 (2).ppt
第第9 9章章 JavaJava的的AppletApplet编程编程1Java概述主要内容n9.1JavaApplet概述nApplet的生命周期nApplet的绘图周期n9.2实现一个简单的Applet程序nApplet程序编写与编译n将Applet嵌入Web网页nApplet的执行n9.3Applet生命周期状态切换举例n9.4Applet的常用方法n9.5Applet的安全限制n作业29.1Javaapplet概述Java小应用程序(JavaApplet)是使用Java语言编写的一段代码,在浏览器环境运行。Applet与Application的主要区别:执行方式不同Application是使用命令行命令直接运行,从其main()方法开始运行的;Applet则是在浏览器中运行,本身的执行过程也较Application复杂。首先必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行再在浏览器中给出该HTML文件的URL地址即可31.编写一个Applet编写一个Applet,必须首先从派生一个类,之前必须加上public:importjava.applet.*;publicclassSimpleAppletextendsApplet如果使用Swing组件编写applet,则applet必须扩展类,以JApplet作为顶层容器,在其中加入Swing组件,从而保证所有的绘图和更新动作都能够正确地执行。4Java.applet.Appletpublic void init()public void destroy()public void start()public void stop()public void paint(Graphics g)publicclassSimpleJAppletextendsJAppletpublicvoidinit()publicvoidstart()publicvoidstop()publicvoiddestroy()publicvoidpaint(Graphicsg)2.Applet的程序结构5Javaapplet概述applet一开始运行,就会由浏览器或appletviewer自动启动两个线程周期。n生命周期n绘图周期6初始态(瞬态)初始态(瞬态)运行态运行态停止态停止态消亡态消亡态离开离开web页面:极小页面:极小化或装入其他页面,化或装入其他页面,调用调用stop()方法方法重新装入或改变页面重新装入或改变页面大小或返回大小或返回Web页面,页面,调用调用start()方法方法关闭浏览器,调用关闭浏览器,调用destroy()方法方法第一次装入,构造第一次装入,构造applet类,调用类,调用init()方法方法调用调用start()方法方法9.1.1Applet的生命周期7Applet的生命周期当Applet被浏览器运行时,init()、start()、stop()、destroy()等自动执行。ninit():初始化,自动调用,只执行一次。本方法主要完成一些在Applet构造方法所不不能完成的工作。nstart():初始化后,重入等都将自动调用。本方法是Applet的主体,在其中可以执行一些任务或启动相关的线程来执行任务。nstop():离开Applet所在页面时调用,以停止消耗系统资源。ndestroy():浏览器关闭时自动调用,以清除Applet所用的所有资源。89.1.2Applet的绘图周期applet程序中所采用的绘图机制主要涉及三个方法:npaint()nupdate()nrepaint()update()方法和paint()方法都有一个Graphics类的对象作为参数。Graphics是画图的关键,它可以支持两种绘图:n基本的绘图,如:画线、矩形、圆等;n加载并显示图像,主要用于动画制作。9Applet绘图周期各方法之间的调用关系109.2实现一个简单的Applet程序9.2.1Applet程序编写与编译1.Applet程序编写例9.1按照applet程序结构,编写一个简单的applet,绘制“WelcometoJavaProgramming!”。/WelcomeApplet.javaimportjava.awt.Graphics;importjavax.swing.JApplet;publicclassWelcomeAppletextendsJAppletpublicvoidpaint(Graphicsg)super.paint(g);/调用超类JApplet的paint方法/在坐标为(25,25)的位置显示字符串g.drawString(WelcometoJavaPrograming!,25,25);【程序说明】Javaapplet中不需要main方法,要求程序中有且必须有一个类是系统类Applet(在java.awt包中)或JApplet(在java.swing包中)的子类。paint方法表示它将在WWW所显示的Web页面需要重画时(窗口移动或放缩时)被浏览器自动调用并执行。11Applet程序编写与编译2.Applet的编译在命令行状态使用javac命令对WelcomeApplet.java进行编译,得到WelcomeApplet.class类文件。javacWelcomeApplet.java12将applet嵌入Web网页applet必须嵌入Web页,并在applet容器(appletviewer或浏览器)中才能运行,所以在执行applet之前,必须创建HTML文件,指明applet容器应装入和执行哪个applet。通常HTML文档以“.html”或者“.htm”扩展名结尾。标记用于在Web页面中嵌入applet,头标签与尾标签必须成对出现。13HTML中applet标记的使用.alternateHTML最简形式:149.2.3Applet的执行15执行applet的两种方法方法1.使用appletviewer运行applet使用JDK的内置命令appletviwer。在命令行状态,输入命令:appletviewerwelcome.html方法2.使用浏览器运行applet使用支持java浏览器。此处使用IE浏览器。在地址栏中输入HTML文档的URL地址即可演示169.3applet生命周期状态切换举例Applet生命周期的状态切换,可参考教材中【例9.2】17URL说明URL(UniformResourceLocator,统一资源定位符),用来标识Internet资源的地址。通常情况下,资源表示一个文件,如一个HTML文档、一个图像文件或一个声音片断等。URL的通用格式是::/URL类(全名.URL)的构造方法n绝对URL的构造方法:URL(Stringspec)例:URLurl=newURL(“http:/