第九章Applet基础ppt课件.ppt_第1页
第九章Applet基础ppt课件.ppt_第2页
第九章Applet基础ppt课件.ppt_第3页
第九章Applet基础ppt课件.ppt_第4页
第九章Applet基础ppt课件.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第九章Applet基础与高级编程 Applet基本概念 编写Applet Applet中的图形化用户界面 Applet的多媒体支持Applet的安全控制Applet与外界的通信Applet与Application 9 1 1什么是Applet 是能够嵌入到HTML页面中 并可以下载到浏览器中运行的Java类 与Application的区别在于运行方式上 Application以main 函数为入口点运行 Applet要在浏览器中运行 运行过程相对复杂 从编写Applet程序到该程序在浏览器中运行 要经过下列步骤 首先要编写Applet的Java源代码 然后编写包含这个Applet的能在浏览器中运行的html文件 最后运行这个Applet 在命令行中输入appletviewer或双击 使其在浏览器中运行 例9 1 HelloWorldApplet Applet加载过程 Http someLocation hello html AppletClasses HelloWorld Http someLocation hello html Location Loading 1 Browser加载URL中的html文件 2 Browser解析html 3 Browser加载appletclasses 4 Browser运行applet Browser 9 1 2Applet的生命周期 Init Start Stop Destroy 装载Applet 重新装入 Applet的生命周期 Applet生命周期是指从Applet下载到浏览器开始 到用户退出浏览器终止Applet运行的过程 加载Applet重新加载Applet退出浏览器例9 2 Applet的生命周期 9 1 3Applet类层次 Java lang Object Java awt Component Java awt Container Java awt Window Java awt Panel Java awt Frame Java applet Applet 9 1 4Applet类API 生命周期方法voidinit 在Applet被下载时调用 一般用来完成所有必须的初始化操作 voidstart 在Applet初始化以后以及Applet被重新访问时调用 voidstop 在Applet停止执行时调用 voiddestroy 在关闭浏览器Applet从系统中撤出时调用 stop 方法总是在此之前被调用 HTML标记方法URLgetDocumentBase 返回一个URL对象 描述包含applet标记的HTML文件的目录 URLgetCodeBase 返回描述applet主类文件所在目录的URL对象 StringgetParameter Stringname 返回定义在HTML文件中的标志中指定参数的值 ImagegetImage URLbase Stringtarget 从网上其它主机上得到图形文件 返回值是Image类的实例 AudioClipgetAudioClip URLbase Stringtarget 从网上其它主机上得到声音文件 返回值是AudioClip类的实例 AudioClip类演播声音数据文件 有三个方法用于演播 voidplay 开始演播声音数据voidloop 循环演播当前的声音数据voidstop 停止演播当前的声音数据Voidplay URLurl Stringtarget 直接演播指定URL地址上的指定文件名的声音文件 多媒体支持方法 管理Applet环境的方法AppletContextgetAppletContext Applet信息报告方法voidShowStatus Stringstatus StringgetAppletInfo String getParameterInfo 9 1 5关键Applet方法 publicclassSimpleextendsApplet publicvoidinit publicvoidstart publicvoidstop publicvoiddestroy 关键Applet方法 init Applet加载 重加载 时 首先调用方法 执行基本初始化 如设置Layout 数据初始化等 destroy 关闭浏览器时彻底终止Applet 为卸载Applet做最终清理 stop 停止Applet的运行 当离开该Applet所在的页面或关闭浏览器时调用 Applet可调用该方法停止线程 start 开始Applet的执行 使Applet成为激活状态 在加载Applet或每次显示该applet时都要调用 9 1 6Applet的显示 Applet本质上是图形方式 当Applet每次刷新其显示时 浏览器都调用paint 方法 paint 把java awt Graphics类的实例作为参数 该实例包含了Applet所在Panel的图形上下文信息 Applet显示的相关方法 paint Graphicsg 向Applet中画图 画图象 显示字符串 当Applet初次显示或更新时 都将调用该方法 repaint 调用该方法将通知系统改变显示 系统将调用update 方法 update Graphicsg 清除当前的显示并调用paint 方法 Applet的显示示例 importjava applet Applet importjava awt Graphics publicclassSimpleextendsApplet StringBufferbuffer publicvoidinit buffer newStringBuffer addItem initializing publicvoidstart addItem starting publicvoidstop addItem stopping publicvoiddestroy addItem preparingforunloading voidaddItem StringnewWord System out println newWord buffer append newWord repaint publicvoidpaint Graphicsg DrawaRectanglearoundtheapplet sdisplayarea g drawRect 0 0 size width 1 size height 1 Drawthecurrentstringinsidetherectangle g drawString buffer toString 5 15 9 2 1编写Applet的过程 引入所需的JavaAPI包 定义Applet的主类 该类是Applet类的子类 实现Applet的某些方法 将Applet嵌入在HTML页面中运行 编写Applet的过程 例HelloWorldapplet importjava awt importjava applet publicclassHelloWorldextendsApplet publicvoidpaint Graphicsg g drawString HelloWorld 25 25 9 2 3在HTML页中包含Applet 将applet嵌入html文件 ASimpleProgram 在HTML页中包含Applet 在HTML文件中使用标志 APPLET标志的格式 标志包括4个部分 Applet属性参数在非java兼容浏览器中显示的内容 标志 属性 Applet主类的文件名 Applet主类的路径名 Applet在Web页上的对齐方式 围绕Applet的水平和垂直空白空间 Applet参数 Applet通过在HTML文件中采用标志定义和传递参数 在Applet的init 方法中使用getParameter 方法获取参数 示例 在HTML文件中的Applet描述 Applet类 importjava awt importjava applet URL publicclassDrawAnyextendsApplet Imageim publicvoidinit URLurl getDocumentBase StringimageName getParameter image im getImage url imageName publicvoidpaint Graphicsg g drawImage im 0 0 this 9 3Applet中的图形化用户界面 Applet的主要目标是将动态执行与交互的功能引入到Web页面中 因此几乎所有的Applet都需要创建GUI组件与用户进行动态交互 并通过图形 文本等方式显示运行结果和状态 Applet可以通过AWT创建GUI 由于Applet是AWT的Panel类的子类 Applet本身就是一个面板 因此可以象操作AWT其它容器一样 向Applet中增加组件并且使用布局管理器控制组件在屏幕上的位置和大小 例 基于AWT的Applet用户界面在Applet中使用弹出窗口 9 3 3Applet中的事件处理 Applet中的事件处理机制与JavaApplication相同 采用监听器方式 例 Applet中的事件处理 9 4Applet的多媒体支持 在Applet中有丰富的多媒体支持功能 主要包括显示图像 动画和声音 9 4 1显示图像图像由一个java awt Image类的对象来表示 在Applet中加载图像使用Applet类提供的getImage 方法 获得包含该图像的一个Image类的对象 方法定义如下 publicImagegetImage URLurl publicImagegetImage URLurl Stringname 显示图像使用的是Graphics类中的drawImage 方法 示例 9 4 2动画制作 显示当前帧 暂停一段时间 下一帧成为当前帧 还有帧显示 停止 Applet中的动画显示 9 4 3播放声音 加载声音文件publicAudioClipgetAudioClip URL publicAudioClipgetAudioClip URL String 直接播放指定URL中的文件publicvoidplay URLurl publicvoidplay URLurl Stringname AudioClip接口中定义的方法publicvoidplay publicvoidloop publicvoidstop 示例 播放声音文件 9 5Applet安全控制 Java平台为了防范恶意程序的攻击 使用安全管理器执行系统资源的访问控制 目前大多数浏览器都安装了安全管理器 所以Applet都是在它的严密监视下运行 每个Applet都不允许访问系统的本地资源 除非它被Java运行系统授予了相应的权限 大多数浏览器对Applet进行以下约束 运行时刻不能运行该Applet之外的其它程序 禁止调用本机方法 禁止向本地文件系统I O 禁止向提供Applet之外的主机建立Socket Java2中通过定义安全策略与签名授权机制 实现对Applet细粒度访问控制的方法 9 6Applet与外界的通信 在Web页中的Applet可以与其他各种服务程序进行通信 目前 Applet能够以下述三种方式与其它程序进行通信 通过请求同一Web页上其他Applet中的公有方法实现与同一Web页上其他Applet的通信 通过使用定义在Java Applet包中的API 以受限方式与浏览器或Appletviewer通信 通过使用包中的API与提供该Applet的主机上的其他程序通信 9 6 1同页面Applet之间的通信 Applet能够互相发现并发送消息 JavaAPI允许运行在同一个浏览器窗口的同一页面中的Applet互相通信 Java applet包中AppletContext类的对象保存了当前Applet运行环境的信息 利用Applet类的如下方法可以获得保存当前页面相关信息的AppletContext对象 PublicAppletContextgetAppletContext 按名字寻找AppletPublicAppletgetApplet Stringname 获取同一页面中的所有AppletPublicEnumerationgetApplets 示例 两个Applet之间的相互通信 9 6 2Applet与浏览器之间的通信 Applet与浏览器之间通信方法URLgetCodeBase URLgetDocumentBase StringgetParameter Stringname String getParameterInfo VoidshowStatus Stringmsg StringgetAppletInfo AppletContext的showDocument 示例 在Applet中请求浏览器显示用户指定的URL 9 6 3Applet的网络通信 Applet能够使用包中定义的API进行网络通信 由于安全限制 Applet默认只能和提供它的主机进行通信 如果采用Java2的安全机制 对Applet进行数字签名或提供安全策略 Applet也可以和其他任意的主机通信 主要步骤如下 URLhostURL getCodeBase Stringh

温馨提示

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

评论

0/150

提交评论