第12章 Java 小应用程序(Applet).ppt_第1页
第12章 Java 小应用程序(Applet).ppt_第2页
第12章 Java 小应用程序(Applet).ppt_第3页
第12章 Java 小应用程序(Applet).ppt_第4页
第12章 Java 小应用程序(Applet).ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章Java小程序(Applet )的设定修订、12.1小程序12.2小程序的通信、12.1小程序的制作、小程序的制作,首先从java.applet.Applet开始publicclassimpleapplete java.applet.Applet类实际上是java.awt.Panel的子类。 小程序和AWT类的继承关系如图12.1所示。图12.1,此层次关系表明小程序可以直接用作AWT布局的容器。 小程序是Panel的子类,因此有默认的流布局管理器。 小程序类继承了Component、Container和Panel类的方法。 12.1.1小程序的执行框架在Java出现之前,开始使用HT

2、ML (超文本标记语言)进行网页的设定修正。 但是,稍微了解HTML的人,知道HTML提供的设计能力极其有限。 Java首次提供了通过在网页中插入Java类来提高网页的GUI和逻辑运算能力的方法。 如何创建小程序并在浏览器中运行?方法只需继承java .小程序包下的小程序类并实现所需的方法即可。 看看最简单的小程序的例子,学习在浏览器中运行的方法吧。 示例12.1简单应用程序. Java导入Java.applet.*; 导入Java.awt.*; publicclasssimpleappletextendsapplet,字符串文本=空。 公共void init ()文本=asimpleappl

3、etdemo! 设置背景(颜色. yellow ); 公共语音开始() system.out.println (开始.公共语音停止()、system.out.println (停止. ); public void destroy () system.out.println (preparingtounload.公共语音画面(graphicsg ) system.out.println (paint )。 g .拖曳(文字,15,25 ); 这是最简单的小程序的例子。 你可能知道这个程序没有main ()方法。 的确,以前学过的Java应用程序必须通过main ()方法访问,而小程序则不是。 小

4、程序的生命周期有点复杂,需要在浏览器中运行,所以要运行还需要用HTML写成的网页。 例12.2 SimpleApplet.HTML,这里没有准备详细讨论与html相关的问题,不太了解的话可以自己查阅相关资料。 我只说明一下上面的HTML代码。 指示浏览器使用标签和残奥仪表来下载小程序的执行内容。 其中name表示小程序的名称,codebase表示已编译的小程序字节码的路径,code表示小程序文件的文件名。 width和height指定小程序的宽度和高度。 name和codebase这两个残奥仪表不是必需的。 如果applet字节码文件和html文件位于同一路径下,则不必添加codebase残奥

5、仪表。 “width”和“height”这两个残奥仪表必须相加,因此不需要在小程序中设置小程序的面板大小。 将此HTML文件和编译的小程序保存在同一目录中(HTML文件不一定与小程序名称相同),在浏览器中打开此HTML文件时,将显示此最简单的小程序的运行结果。 不仅使用浏览器运行小程序,Java平台本身也提供调试小程序的方法。 JDK包中有一个小的应用程序查看器AppletViewer.exe,在Windows命令行窗口中键入appletviewer SimpleApplet.html可以显示与在浏览器中执行的输出结果几乎相同的输出结果图12.2和图12.3分别以两种方式示出了操作示例simp

6、le小应用程序的输出结果。 现在,让我们来看看这个小程序是如何工作的。 您注意到上面示例中的simple小程序没有main ()方法。 典型的Java应用程序是通过main ()方法访问的,而小程序则不是。 构造函数完成任务后,浏览器会自动调用init ()方法,因此通常会在此处放置小程序的基本初始化操作。init ()完成后,浏览器将调用另一个名为start ()的方法,通常在显示小程序时调用start ()。start ()方法结束后,调用piant ()方法在小程序的Panel中绘制。 现在小程序已经运行。 当用户退出小程序所在的页面时,将调用stop ()方法停止小程序的某些任务。 在

7、浏览器关闭之前,不会调用destroy ()方法来完成最后的清除。 当然小程序的生命周期比上述稍微复杂一些。图12.2、图12.3、12.2小程序的安全机制知道小程序是在浏览器中下载并自动运行的。 这听起来有点可怕,但在浏览器中自动运行的不是病毒制造商的梦想吗? 小程序的设定修订者将小程序设定为病毒,可以使用浏览器访问用户的计算机。 我觉得很可怕,Java的设定修订者们也考虑到这一点,对小程序的能力施加了各种限制。 如果小程序尝试违反安全规则,那么在“小程序安全管理器”(Applet Security Manager )发出安全执行之前,小程序能够做什么以及不能做什么呢? 在大多数浏览器中,在

8、沙箱内运行时,默认情况下禁止在运行时运行其他程序。 小程序不能运行任何本地可执行程序。 文件输入输出:小程序无法读取/写入本地计算机的文件系统。 中的组合图层性质变更选项。 使用的Java版本号、操作系统名称和版本号、小程序无法获取有关本地计算机的信息,也无法调用本地方法、API等方法。 特别是小程序无法获取用户名和电子邮件地址等信息。 尝试打开提供小程序的主机以外的系统的插座。 小程序除了下载的服务器以外,无法与任何主机进行通信。 这些限制的关键是限制小程序对系统文件的访问,从而防止远程系统隐私受到侵害或损坏系统。禁止执行其他程序,不允许调用本地方法,也就是说, 限制小程序启动未经JVM检查

9、的代码。套接字限制禁止与可能会对其他程序造成危害的程序进行通信。 小程序不是CPU直接执行的机器代码,而是JVM(Java Virtual Machine )解释执行的字节码,因此如果通过JVM检查小程序的指令和程序区域,则小程序能够向用户的计算机系统发送表12.1显示了小应用程序在沙箱中运行时的功能。 表12.1小程序的功能,在这些限制下,小程序的能力似乎有很大的折扣,对恶意的设定订正者是有效的措施,但也给开发者们带来了限制。 如果不能打破这些限制,小应用程序能做的事情是有限的。 与此相对,Java的设定修正者也提供了解决方案。 那是签名类。 小程序提供商可以创建带签名的小程序。 当浏览器下

10、载并运行此小程序时,会询问用户是否属于已签名的小程序类,以及是否信任设计者。 在用户的信任下,这个小程序可以突破所有限制,像正常应用程序一样在用户的计算机上运行。12.1.3小程序的一些主要方法小程序类的主要方法是在浏览器将小程序加载到内存中后自动调用的公共void init ()。 通常用于初始化数据的值。 此方法仅在第一次加载小程序时调用,并在调用start ()方法之前完成。 如果要在小程序的生存期内创建线程,可以使用此方法创建线程,然后使用destory方法退出。 publicvoidstart()init ()方法完成后,浏览器会自动调用start ()方法。 小程序通过那个执行被激

11、活。此外,每次显示小程序时都会执行,例如浏览器最小化后重新启动,或者从其他网页返回包含该小程序的页面等。 通常在这里写主要的程序代码。 此方法的典型用法是启动动画并播放声音。 public void stop ()在浏览器切换到其他网页或关闭时自动调用stop ()方法。 此方法通常包含暂停动作,例如暂停音乐或动画的播放,这样,当用户从另一个网页移动到包含小程序的页面时,可以调用start ()方法继续播放。 public void destroy ()用户关闭浏览器后,必须结束小程序的运行并重用资源。 将自动调用destroy ()方法。 因为此方法是小程序在生存期间执行的最后一个方法,所以

12、此方法通常释放由init ()分配的资源,如创建的线程。 浏览器在调用destory ()方法时,首先调用stop ()方法。 publicaudioclipgetaudioclip (url URL )返回由残奥仪表URL指定的audioclip对象。 AudioClip是音频剪辑对象的接口,提供对音频对象的抽象控制。 无论是否存在由url指定的音乐文件,getAudioClip ()方法都会立即返回值。 这是因为在播放音频文件之前不会下载。 url残奥仪表必须是绝对地址。 公共URL getcode base ()返回小程序所在的网址。 公共URL getdocumentbase ()返回

13、包含小程序对象的网页的地址。 公共图像getimage (url URL )返回由残奥仪表URL指定的图像文件的图像对象。 与getAudioClip ()方法类似,无论是否存在具有指定地址的文件,getImage ()方法都会立即返回值。 图像文件仅在小程序显示在画面上时下载。 url残奥仪表必须是绝对地址。 公共字符串获取器(字符串名称)返回HTML文件提供的关残奥元信息。 小程序提供了一种从网页文件中提取残奥仪表的方法,您可以使用HTML文件中的标记来设置小程序使用的残奥仪表。 例如,HTML代码包括: 调用getParameter(Color )将返回蓝色。 请注意,残奥仪表名称不区分

14、大小写。 公共布尔is active ()检查小程序是否处于活动状态。 浏览器调用start ()方法时,applet处于活动状态,调用stop ()方法时,applet处于非活动状态。 播放由公共视频播放(url URL )残奥仪表URL指定的音频剪辑,若该音频剪辑不存在则什么也不做。 url残奥仪表必须是绝对地址。 公共语音显示状态(string msg )在浏览器状态栏中显示由残奥仪表msg指定的文本信息,以通知用户小程序的当前状态。 第一部分的示例说明了小程序的运行方式和生命周期。 在此,用实例学习用上述方法写有趣小程序的方法。 示例12.3显示图像应用程序. Java导入Java.a

15、pplet.*; 导入Java.awt.*; 导入. *; publicclassshowimageappletextendsappletstringimagename=空。 string audioname=空值; image img=空值; 音频剪辑音频=空; public void init ()图像名称=getparameter (图像); img=getImage(getDocumentBase (),图像名称); audioname=getparameter (音频); audio=getaudioclip (getdocumentbase ()、AudioName ); 公共音频开始() audio.play (); 公共语音画面(图形) g .图形(img,0,0,this ); ShowImageApplet.html、图12.4和此示例说明如何使用getImage ()方法加载图像对象、在浏览器中显示图像对象以及在启动小程序时播放音乐。 首先,使用getParameter ()方法从HTML代码中提取残奥仪表,即Image和Aud

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论