好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第八章 Applet基础.docx

11页
  • 卖家[上传人]:博****1
  • 文档编号:413773719
  • 上传时间:2023-04-22
  • 文档格式:DOCX
  • 文档大小:104.39KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第八章Applet基础Java Applet 是用 Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,作 为Web页面一部分运行的,由支持Java的浏览器(IE或Netscape)解释执行,能够产生特 殊效果的程序它可以大大提高 Web 页面的交互能力和动态执行能力当用户访问这样的网页 时, Applet 被下载到用户的计算机上执行由于 Applet 是在用户的计算机上执行的,所以它 的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产 生的多媒体效果学习和使用Applet,可以使开发人员轻松地将Java编程应用于网络Applet不仅能够 创建出来五彩缤纷的网站页面,还可以极大地丰富页面的功能,为网站开发注入活力本章将 介绍 Java Applet 的基本工作原理和应用方法8.1 Java Applet 程序开发步骤与安全机制8.1.1 Applet 程序开发主要步骤Applet 程序开发主要经历四个步骤■ 选用编辑器建立Java Applet源程序■ 把Applet的源程序转换为字节码文件■ 编制使用class的HTML文件在HTML文件内放入必要的VAPPLET>语句■ 使用浏览器或applerviewer执行ht ml文件1.编辑 Applet 的 java 源文件下面举一个最简单的 HelloWorld 例子来说明 Applet 程序的开发过程: 编辑 Applet 的 java 源文件【例8T】Applet小程序import java.awt.*;import java.applet.*;public class HelloWorld extends Applet{public void paint(Graphics g){g.drawString("Hello World!", 5, 35);}}2.编译 Applet利用javac命令编译文件,将.java文件编译生成.class文件。

      注意:如果编写的源程序违 反了 Java 编程语言的语法规则, Java 编译器将在屏幕上显示语法错误提示信息源文件中必 须不含任何语法错误, Java 编译器才能成功地把源程序转换为 appletviewer 和浏览器能够执 行的字节码程序3. 创建 HTML 文件在运行创建的 HelloWorld.class 之前,还需创建一个 HTML 文件, appletviewer 或浏览 器将通过该文件访问创建的Applet为运行HelloWorld.class,需要创建包含如下HTML语 句的名为 HelloWorld.htm 的文件例8-2】包含apple t的ht ml文件 test applet本例中,最重要的是vapplet>语句,它指明该Applet字节码类文件名和以像素为单位 的窗口的尺寸。

      虽然这里HTML文件使用的文件名为HelloWorld.html,它对应于 HelloWorld.java 的名字,但这种对应系不是必须的,可以用其他的任何名字(比如说 Ghq.HTML)命名该HTML文件但是使文件名保持一种对应关系可给文件的管理带来方便4.执行 HelloWorld.htm如果用浏览器执行HelloWorld.htm这个文件十分简单,只要双击这个文件就可以了相对 执行开销比较大还有一种执行方式是利用J AVA提供的工具applerviewer,来执行此htm文件appletviewer 是 JDK 下的一个 Applet 查看工具,在 Java 安装目录下的 bin 文件夹中 可以找到这个可执行文件appletviewer 犹如一个最小化的 Java 浏览器,使开发者不必使用 Web 浏览器即可运行 Java Applet 程序执行时 appletviewer 会读取命令行 URL 所指定的 HTML 文件,这个文件 必须包含一个或多个装入和执行Applet的指令appletviewer会忽略所有其他的HTML代码, 不会显示普通的 HTML 或嵌入到一个文本文件中的 Applet。

      执行命令:appletviewer HelloWorld.htm就可以看到程序结果图8-1 程序执行结果8.1.2 Applet 的安全机制当用户上网浏览一个包含 Applet 的网页时,由于 Applet 代码实际上是从远程服务器上 下载到用户本地机上运行的,所以安全问题显得十分重要Applet本身设定了相应的安全规则 来保证用户的系统安全,这些规则包括:■ Applet永远无法运行本地机上的可执行程序■ Applet除了与所在的服务器联系外,无法再同任何其他的服务器取得联系■ Applet 不能对本地文件系统进行读写操作除了本地机上使用的Java版本号、操作系统名称和版本、系统使用的特殊字符外,Applet 不能获取其他有关本地计算机的信息特别是本地系统的用户名以及Email等信息Applet的 弹出式窗口都会带有一个警告信息由于 Applet 是在 Java 虚拟机中解释执行,而不是由用户计算机的 CPU 直接运行,才使 得这些安全规则成为可能因为解释器会检查所有的关键指令和程序运行范围,能够防止恶意 编写的 Applet 导致计算机崩溃、重写系统内存或改变系统权限在某些情况下,通过使用签名的 Applet 还可以针对不同的情况给予其不同级别的安全等 级。

      被签名的 Applet 携带一个可以证明其签名者身份的证书,加密技术能够保证这种证书不 能被伪造,如果用户信任签名者,就可以赋给 Applet 额外的权限8・2 Applet的生命周期和常用方法8・2. 1 Applet的生命周期小应用程序的生命周期相对于Applica tion而言较为复杂在其生命周期中涉及到Apple t 类的四个方法:ini t()、st ar t()、st op()和des troy()下面首先用图来表示一个小应用程序 的生命周期,然后再简要描述这四个方法图8-2 Apple t生命期Applet的生命周期中有四个状态:初始态、运行态、停止态和消亡态当程序执行完init() 方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态; 当Apple t程序所在的浏览器图标化或者是转入其它页面时,该Apple t程序马上执行st op()方法, Apple t程序进入停止态;在停止态中,如果浏览器又重新装载该Apple t程序所在的页面,或者 是浏览器从图标中复原,则Apple t程序马上调用st ar t()方法,进入运行态;当然,在停止态时, 如果浏览器关闭,则Apple t程序调用des troy()方法,进入消亡态。

      8・ 2・ 2 Applet 常用方法一个Java应用程序必须含有一个main ()方法,作为应用程序执行的入口点,并在整个程 序运行过程中,使main()方法贯穿始终,在Java Applet中没有main()方法,入口点也不只 一个由于一个网页在浏览器中显示时可能会发生各种情况,比如打开网页、切换到另一网页、 一个网页被一窗口盖住而后又露出等,对于每种情况, Applet 都必须作出响应,所以,针对每 种情况, Applet 都有一个响应的入口点,使之运行Applet 类中提供了四种基本方法用来控制其运行状态: init()、 start()、 stop()、 destroy()它们构成了创建任何Applet的框架,并实现了一个Applet从诞生、执行到停止、 消亡的生命周期1) init()方法:Applet第一次被加载时调用,主要功能是完成初始化操作,包括创建 Applet 对象、分配内存、设置初始状态等,在 Applet 生命周期中只运行一次通常可以在该 方法中完成从网页向 Applet 传递参数,添加用户界面的基本组件等操作其格式为:public void init(){ }(2) st ar t()方法:初始化后或Applet停止运行随后又重新启动时调用,主要用于创建、 启动及重新启动Apple t,系统在调用完ini t()方法之后,将自动调用st ar t()方法。

      而且, 每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍st ar t()方法这就 意味着start()方法可以被多次执行,而不像ini t()方法因此,可把只希望执行一遍的代码 放在ini t()方法中可以在st ar t()方法中开始一个线程,如继续一个动画、声音等在Applet 生命周期中,start()方法被调用多次,一般与stop方法配套运行其格式为:public void start(){ }(3) stop()方法:这个方法在用户离开Applet所在页面时执行,该方法的主要功能是停 止耗时操作,以免降低系统运行速度,该方法会在 Applet 生命周期中调用多次它使你可以 在用户并不注意 Applet 的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且 并不需要人为地去调用该方法如果 Applet 中不包含动画、声音等程序,通常也不必实现该 方法4) destroy(): Web 浏览器中的 Java 解释器重新载入 HTML 或关闭包含 Applet 页面的 浏览器时调用,该方法的功能是清除Applet,释放其所占用的系统资源与对象的finalize。

      方法不同,Java在浏览器关闭的时候才调用该方法Applet是嵌在HTML文件中的,所以 des trot y ()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行在des troy() 方法中一般可以要求收回占用的非内存独立资源如果在 Applet 仍在运行时浏览器被关闭, 系统将先执行st op ()方法,再执行des troy()方法Applet的另一个主要方法是paint()方法,这个方法可以使一个Java Applet在容器上 显示某些信息,如文字、颜色、背景或图像等,在Applet的生命周期内可以多次调用例如, 当 Applet 页面被其他页面遮挡,然后又重新在最前端显示,以及改变浏览器窗口大小,或者 Applet本身需要显示信息时,主类创建的对象都会自动调用paint()方法其格式为: public void paint(Graphics g){}其参数是 java.awt.Graphics 类的实例,通过这个参数,可以在 Applet 上绘图或显 示文本下面的例子用输出相应字符串的方法,指示出Apple t生命周期中ini t()、st ar t()、 stop()、destroy()方法的执行时间。

      例8-3】 Applet生命期示例import java.awt.*;import java.applet.*;public class AppletLifeCycle extends Applet{String status = "";//成员变量public void ini t() //创建时调用此方法{status += "Call i。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.