Java语言程序设计基础教程课件(第11章).ppt





《Java语言程序设计基础教程课件(第11章).ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计基础教程课件(第11章).ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第11章Java Applet基础 nJava Applet的运行原理的运行原理nApplet类及其常用方法类及其常用方法n一个显示动画的一个显示动画的Applet程序程序nApplet中使用中使用URL nApplet中建立新线程中建立新线程nApplet中播放声音中播放声音11.1 Java Applet的运行原理 n一个Java Applet程序中必须有一个类是Applet类的子类。称该子类是Java Applet的主类,并且主类必须修饰为public。nJava Applet程序是通过浏览器来执行的,因此,它和Java应用程序有许多不同之处。11.1.1 Applet的运行环境n一个J
2、ava应用程序经过编译成.class后,可直接通过Java解释器来执行。一个Java Applet在执行时也是先被编译成为.class文件,但必须再将字节码文件嵌入到Web页面中,通过浏览器或使用JDK中的appletviewer命令来运行。n下面通过例子来说明一个Java Applet的运行原理。【例11-1】一个名为HelloEducation.java的Applet类,在浏览器的坐标(25,25)位置显示字符串。npackage chapter11;nimport java.applet.Applet;/Applet类是所有的Java applet的父类;nimport java.awt
3、.Graphics;/在进行显示输出时,需要用到类Graphics的对象;npublic class HelloEducation extends Applet n/程序员给这个类取名为HelloEducationn/所有的applet程序都是Applet类的子类npublic String s;npublic void init()ns=new String(Welcome to Tongfang Education);n/生成一个字符串对象nnpublic void paint(Graphics g)ng.drawString(s,25,25);/在浏览器中坐标为(25,25)的位置显示字
4、符串snnnApplet应用程序必须嵌入在HTML页面中,才能得到解释执行;nApplet可以从Web页面中获得参数,并和Web页面进行交互。n含有Applet的网页的HTML文件代码中必须带有applet和/applet这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。nApplet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HTML文件中关于Applet的
5、信息至少应包含以下三点:n字节码文件名(编译后的Java文件,以.class为后缀);n字节码文件的地址;n在网页上显示Applet的方式。n一个HTML文件增加Applet有关的内容只是使网页更加富有生气,如添加声音、动画等这些吸引人的特征,它并不会改变HTML文件中与Applet无关的元素。11.1.2 什么是什么是appletviewernappletviewer是JDK下的一个Applet查看工具,在Java安装目录下的bin文件夹中可以找到这个可执行文件。nappletviewer带有一个命令行参数形式的URL,它指向一个含有Applet引用的HTML文件。这个Applet引用是一个
6、指定了appletviewer要装载代码的HTML标记:11.1.3 Java Applet程序开发步骤程序开发步骤nApplet程序开发主要步骤如下:n选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序。n把Applet的源程序转换为字节码文件。n编制使用class 的HTML文件。在HTML文件内放入必要的APPLET语句。n下面举一个最简单的HelloWorld 例子11-2来说明Applet程序的开发过程:1编辑编辑Applet 的的java源文件源文件n创建文件夹C:ghq,在该文件夹下建立 HelloWorld.java n【例11-2】n
7、import java.applet.Applet;nimport java.awt.*;npublic class HelloWorld extends Applet/继承Appelet类,这是Appelet Java程序的特点nnpublic void paint(Graphics g)ng.drawString(Hello World!,5,35);nnn保存上述程序在C:java_work11HelloWorld.java文件里。2编译编译Appletn编译HelloWorld.java源文件可使用如下JDK命令:n注意:注意:如果编写的源程序违反了Java编程语言的语法规则,Java
8、编译器将在屏幕上显示语法错误提示信息。源文件中必须不含任何语法错误,Java编译器才能成功地把源程序转换为appletviewer和浏览器能够执行的字节码程序。n成功地编译Java applet之后生成响应的字节码文件HelloWorld.class的文件。用资源管理器或DIR命令列出目录列表,将会发现目录C:ghq中多了一个名为HelloWorld.class的文件。3创建创建HTML文件文件n在运行创建的HelloWorld.class 之前,还需创建一个HTML文件,appletviewer或浏览器将通过该 文 件 访 问 创 建 的 Applet。为 运 行HelloWorld.cla
9、ss,需要创建包含如下HTML语句的名为HelloWorld.html的文件。n【例11-3】nn n My applet HelloWorld starting pagen n n n !-n -n n n4执行执行HelloWorld.htmln如果用appletviewer运行HelloWorld.html,需输入如下的命令行:n如下图所示,可以看出,该命令启动了appletviewer并指明了html文件,该html文件中包含对应于HelloWorld的applet语句。11.1.4 Applet的安全机制的安全机制 n浏览一个包含Applet的网页时,实际上是从远程服务器上下载到用户
10、本地机上运行的,所以安全问题显得十分重要。Applet本身设定了相应的安全规则来保证用户的系统安全,这些规则包括:qApplet永远无法运行本地机上的可执行程序。qApplet除了与所在的服务器联系外,无法再同任何其他的服务器取得联系。qApplet不能对本地文件系统进行读写操作。q除了本地机上使用的Java版本号、操作系统名称和版本、系统使用的特殊字符外,Applet不能获取其他有关本地计算机的信息。特别是本地系统的用户名以及Email等信息。qApplet的弹出式窗口都会带有一个警告信息。n由于Applet是在Java虚拟机中解释执行,而不是由用户计算机的CPU直接运行,才使得这些安全规则
11、成为可能。因为解释器会检查所有的关键指令和程序运行范围,能够防止恶意编写的Applet导致计算机崩溃、重写系统内存或改变系统权限。n在某些情况下,通过使用签名的Applet还可以针对不同的情况给予其不同级别的安全等级。被签名的Applet携带一个可以证明其签名者身份的证书,加密技术能够保证这种证书不能被伪造,如果用户信任签名者,就可以赋给Applet额外的权限。11.2 Applet类及其方法nApplet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。如下所示。nimport java.applet.*;npublic class OurApplet extends
12、Appletnn.n.nnApplet类的构造函数只有一种,即:npublic Applet();11.2.1 Applet类的基本方法n表11-1 Applet的常用方法类名功能描述finalvoidsetStub(AppletStubstub)设置当前Applet与应用程序运行所需浏览器环境之间的接口booleanisActive();判断一个Applet是否处于活动状态URLgetDocumentBase();检索表示该Applet运行的文件目录的对象URLgetCodeBase();获取该Applet代码的URL地址StringgetParameter(Stringname);获取该A
13、pplet由name指定参数的值AppletContextgetAppletContext();返回浏览器或小应用程序观察器voidresize(intwidth,intheight);调整Applet运行的窗口尺寸voidresize(Dimensiond);调整Applet运行的窗口尺寸voidshowStatus(Stringmsg);在浏览器的状态条中显示指定的信息ImagegetImage(URLurl);按url指定的地址装入图象ImagegetImage(URLurl,Stringname)按url指定的地址和文件名加载图像AudioClipgetAudioClip(URLurl
14、)按url指定的地址获取声音文件AudioClipgetAudioClip(URLurl,Stringname)按url指定的地址和文件名获取声音StringgetAppletInfo()返回Applet应用有关的作者、版本和版权方面的信息StringgetParameterInfo()返回描述Applet参数的字符串数组,该数组通常包含三个字符串:参数名、该参数所需值的类型和该参数的说明voidplay(URLurl)加载并播放一个url指定的音频剪辑voiddestroy()撤消Applet及其所占用的资源。若该Applet是活动的,则先终止该Applet的运行11.2.2 Applet运
15、行状态控制方法运行状态控制方法nApplet类中提供了四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()。它们构成了创建任何Applet的框架,并实现了一个Applet从诞生、执行到停止、消亡的生命周期。n(1)init()方法:Applet第一次被加载时调用,主要功能是完成初始化操作,包括创建Applet对象、分配内存、设置初始状态等,在Applet生命周期中只运行一次。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。其格式为:qpublic void init()qqn(2)start()方法:初始化后或Appl
16、et停止运行随后又重新启动时调用,主要用于创建、启动及重新启动Applet,系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。在Applet生命周期中,start()方法被调用多次,一般与stop方法配套运行。其格式为:npublic void start()nnn(3)stop()方法:这个方法在用户离
17、开Applet所在页面时执行,该方法的主要功能是停止耗时操作,以免降低系统运行速度,该方法会在Applet生命周期中调用多次。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。n(4)destroy():Web浏览器中的Java解释器重新载入HTML或关闭包含Applet页面的浏览器时调用,该方法的功能是清除Applet,释放其所占用的系统资源。与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,
18、所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。11.2.3 Applet应用的有关参数n利用Applet来接收从HTML中传递过来的参数,下面对这些参数作一简单说明:n(1)CODE标志nCODE标志指定Applet的类名;WIDTH和HEIGHT标志指定Applet窗口的像素尺寸。在APPLET语句里还可使用其他一些标志。n(2)CODEBASE 标志nCODEBASE标志指定Apple
19、t的URL地址。Applet的通用资源定位地址URL,它可以是绝对地址,如。也可以是相对于当前HTML所在目录的相对地址,如/AppletPath/Name。如果HTML文件不指定CODEBASE 标志,浏览器将使用和HTML文件相同的URL。n(3)ALT 标志n虽然Java在WWW上很受欢迎,但并非所有浏览器都对其提供支持。如果某浏览器无法运行Java Applet,那么它在遇到APPLET语句时将显示ALT标志指定的文本信息。n(4)ALIGN 标志nALIGN标志可用来控制把Applet窗口显示在HTML文档窗口的什么位置。与HTML的语句一样,ALIGN标志指定的值可以是TOP、MI
20、DDLE或BOTTOM。n(5)VSPACE与HSPACE 标志nVSPACE和HSPACE标志指定浏览器显示在Applet窗口周围的水平和竖直空白条的尺寸,单位为像素。如下例使用该标志在Applet窗口之上和之下各留出50像素的空白,在其左和其右各留出25像素的空白。n(6)NAME 标志nNAME标志把指定的名字赋予Applet的当前实例。当浏览器同时运行两个或多个Applet时,各Applet可通过名字相互引用或交换信息。如果忽略NAME标志,Applet的名字将对应于其类名。n(7)PARAM 标志n通用性是程序设计所追求的目标之一。使用户或者程序员能很方便地使用同一个Applet完成
21、不同的任务是通用性的具体表现。从HTML文件获取信息是提高Applet通用性的一条有效途径。11.3一个显示动画的Applet的程序nJava 不仅提供了对图形、图像的支持,还允许用户实现连续的图像播放,即动画技术。Java 动画的实现,首先用java.awt 包中的Graphics类的drawImage()方法在屏幕上画出图像,然后通过定义一个线程,让该线程睡眠一段时间,然后再切换成另外一幅图像;如此循环,在屏幕上画出一系列的帧来造成运动的感觉,从而达到显示动画的目的。n为了每秒钟多次更新屏幕,必须创建一个线程来实现动画的循环,这个循环要跟踪当前帧并响应周期性的屏幕更新要求;实现线程的方法有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 基础教程 课件 11

限制150内