JavaApplet及应用.ppt

上传人:max****ui 文档编号:8619326 上传时间:2020-03-30 格式:PPT 页数:55 大小:1.12MB
返回 下载 相关 举报
JavaApplet及应用.ppt_第1页
第1页 / 共55页
JavaApplet及应用.ppt_第2页
第2页 / 共55页
JavaApplet及应用.ppt_第3页
第3页 / 共55页
点击查看更多>>
资源描述
第四章JavaApplet及应用 4 4Applet应用 4 3Applet程序与HTML文件 4 2Applet与Applet类 4 1Applet概述 4 1Applet概述 1 JavaApplet的基本概念Java小应用程序 JavaApplet 是使用Java语言编写的一段代码 Applet是一种为通过Web浏览器在Internet上工作而设计的Java程序 它能够在浏览器环境中运行 并由支持Java的Web浏览器来解释执行 2 一个Applet小程序的例子 importjava applet Applet importjava awt Graphics publicclassExam4 1extendsApplet Stringstr publicvoidinit str HereisanApplet publicvoidpaint Graphicsg g drawString str 100 100 4 1Applet概述 超文本标记语言 HTML WWW浏览器Applet小程序嵌入在 写入在HTML文件中从WWW服务器下载到本地WWW浏览器由WWW浏览器中的Java解释器来运行 4 1Applet概述 5 实现过程Applet小程序编写 编译 得到字节码文件javacExam4 1 java嵌入到HTML文件中 保存为Exam4 1 html 4 1Applet概述 3 Applet的主要作用 形成动态可交换式的网页 并可利用浏览器中所提供的图形功能显示及处理图像 处理用户界面 网络通讯 用户事件处理 访问后台数据库等功能 在Java出现之前 人们就已经开始使用HTML 超文本标记语言 进行Web页面的设计了 然而 对HTML稍有了解的人都知道 HTML所提供的设计能力是极其有限的 Java率先提供了让Web页面实现更丰富的GUI和逻辑运算能力的方法 这种方法是通过将一个Java的类插入到Web页面中来实现的 4 1Applet概述 下载html文件 WWW服务器 WWW服务器 WWW服务器 html文件Applet嵌入Applet标记名 解释执行Applet字节码 请求html文件 下载Applet字节码 请求Applet字节码 4 Applet的工作原理 4 1Applet概述 Applet类继承了Panel类 是一个容器 在Applet程序开发中多使用JApplet类 它是JavaSwing中的成员 继承了Applet类 JApplet类的继承关系如下图所示 4 2Applet与Applet类 1 Applet类层次 2 Applet生命周期 Applet的加载 执行 卸载不同于一般的Java应用程序 其内的主要成员方法分别对应于Applet生命周期的不同阶段的活动 对于每个事件将自动调用一种方法 方法如下 init 方法 start 方法 stop 方法 destroy 方法 4 2Applet与Applet类 Applet生命周期 4 2Applet与Applet类 1 init 方法Applet程序的初始化阶段会调用该方法 实现程序初始化 1 执行时机 当Applet程序初始下载时浏览器首先执行它2 特点 只被调用一次 3 用途 用户重定义出它 从而达到创建出其他对象 初始状态设置 图像加载及外观特征参数的改变等 3 Applet类中的主要成员方法 4 2Applet与Applet类 2 start 方法1 执行时机 它是在Applet的init 函数调用之后被浏览器调用 用户又切换回到本Applet页面 浏览器从图标状态恢复为窗口时被调用 2 特点 可能被多次执行 而且都是在页面可见时被调用 3 用途 用户重定义出它 在其内创建并启动线程以实现特定的功能 4 2Applet与Applet类 3 stop 方法它与start 交替执行 1 执行时机 当用户退出浏览器时被浏览器调用 当用户离开Applet所在的页面 浏览器变为图标状态时 2 特点 可能被多次执行 而且都是在页面不可见时被调用 3 用途 用户重定义出它 在其内终止线程以终止特定的功能 4 2Applet与Applet类 4 paint Graphicsg 方法它用于在浏览器的客户区 GUI 中显示出文本 图像等 1 特点 可多次被调用 并且可由AWT的绘制处理线程自动调用 启动后 窗口改变 repaint 调用 2 用途 用户重定义出它 以显示出Applet面板区域内各个组件及外观特征和显示出文本 图像 图形等 3 定义的形式 publicvoidpaint Graphicsg 显示出Applet面板区域内各组件外观 调用Graphics类中的各种成员函数来实现绘制输出 用户也可调用repaint update 来间接地调用paint 以实现立即显示外观属性的改变 4 2Applet与Applet类 5 destroy 方法1 执行时机 它在Applet结束时被调用 以允许Applet做最后清理任务 离线时释放本对象及其相关的资源 2 用途 由于stop 在destroy 之前被执行 用户一般不必覆盖它 而只需覆盖stop 即可 4 2Applet与Applet类 importjava awt importjava applet publicclassAppletClassNameextendsApplet publicvoidinit 初始化变量 装载图片 读取参数值等 publicvoidstart 启动线程执行或恢复线程执行 publicvoidpaint Graphicsg 完成绘制输出信息等操作 publicvoidstop 挂起正在执行的程序 暂停程序的执行 publicvoiddestroy 终止线程 释放系统资源 3 Applet类的框架结构 4 2Applet与Applet类 publicclassSimpleAppletextendsApplet StringBufferbuffer publicvoidinit buffer newStringBuffer addItem initializing publicvoidstart addItem starting publicvoidstop addItem stopping publicvoiddestroy addItem preparingforunloading destroy voidaddItem StringnewWord System out println ewWord buffer append newWord repaint publicvoidpaint Graphicsg g drawRect 0 0 getSize width 1 getSize height 1 g drawString buffer toString 5 15 4 2Applet与Applet类 除了Applet生命周期控制的方法外 Applet类还提供了一些其他有用的方法 4 Applet类的其他有用的方法 publicAppletContextgetAppletContext publicURLgetDocumentBase publicURLgetCodeBase publicStringgetParameter Stringname publicString getParameterInfo 应该被重写publicvoidshowStatus Stringmsg 4 2Applet与Applet类 1 Html中的Applet标记 4 3Applet程序与HTML文件 超文本标记语言 HTML 和Html文件开始和结束的标记和WWW浏览器窗口标题内容的标记和Html文件在浏览器窗口中显示内容的标记和嵌入到Html文件中Applet程序的标记 alternateHTML 4 3Applet程序与HTML文件 CODEBASE codebaseURL指明Applet类文件所在URL址 在Applet类中 方法getCodeBase 可以获取该属性 如果这个属性没有指明 那么Applet类文件必须与包含它的HTML页面在同一个地方 方法getCodeBase 返回的值与getDocumentBase 相同 CODE appletFile指明需要运行的Applet类文件 class文件 该文件是与codebaseURL相关的 NAME appletInstanceName给出了Applet类运行时的实例名 这使得同处于一个页面的不同Applet之间能够相互通信 方法getAppletContext 可以得到同一个方页面中其它Applet类 4 3Applet程序与HTML文件 ALT alternateText如果浏览器支持Applet但不能运行它 就显示alternateText中所给出的文字 否则就忽略它 WIDTH pixelsHEIGHT pixelsApplet在浏览器中所显示的高度和宽度 以象素为单位 ALIGN alignmentApplet在浏览器中显示时的对齐方式 其含义与效果与图片在HTML中的一样 其取值有 left right top texttop middle absmiddle baseline bottom absbottom VSPACE pixelsHSPACE pixelsApplet在浏览器中显示时上下 左右要预留的高度和宽度 其含义与效果与图片在HTML中的一样 4 3Applet程序与HTML文件 属性可以使得Applet能够从页面中获取所需的参数 方法getParameter 获取属性指定的参数 属性的作用与应用程序中main 方法里参数Stringargs 的作用是一样的 一个好的小应用程序 应该提供用户能够设置外部参数的功能 以使得用户能够根据自己的需要来应用它 方法getParameterInfo 可以得到有关属性的说明信息 alternateHTML如果浏览器不支持Applet 就解释alternateHTML所给出的HTML代码 否则就忽略它 4 3Applet程序与HTML文件 publicclassAppletParaextendsApplet Strings1 s2 publicvoidinit s1 getParameter p1 s2 getParameter p2 publicvoidpaint Graphicsg g drawString s1 10 10 g drawString s2 10 30 AppletParameterTest 4 3Applet程序与HTML文件 importjava applet Applet importjava awt publicclassExam4 3extendsApplet Stringstr intx y h Fontfnt publicvoidinit str getParameter string h Integer parseInt getParameter size x Integer parseInt getParameter x1 y Integer parseInt getParameter y1 fnt newFont TimesRoman Font BOLD h publicvoidpaint Graphicsg g setColor Color red g setFont fnt g drawString str x y 4 3Applet程序与HTML文件 4 3Applet程序与HTML文件 Applet程序中可使用java awt包中的Graphics类提供的各种方法 在Applet程序中输出文本 绘制多种图形和显示图片等 Graphics类对象代表当前当前组件的绘图环境 4 4Applet应用 1 输出文本 1 绘制字符串publicvoiddrawString Strings intx inty 2 绘制字符publicvoiddrawString charc intoffset intnumberintx inty 3 绘制字节publicvoiddrawString byteb intoffset intnumberintx inty 4 4Applet应用 1 设置字体java awt Font类设置文本的字体 包括字型和字号 构造方法publicFont Stringname intstyleintsize 2 设置字体和颜色 编程方法 利用Font类创建出一Font类对象并设置字体特性参数 调用Graphics类中的setFont 将用户字体加入到系统中 再调用绘制函数输出文字 4 4Applet应用 publicvoidpaint Graphicsg FontmyFont newFont Dialog Font BOLD 20 g setFont myFont g drawString 这是Java中的Dialog字体的文字串 100 100 2 设置字体的尺寸 java awt FontMetrics类 获知字符或字符串的宽度和高度 获取文字字体的尺寸方法 FontMetricsfm g getFontMetrics fm getHeight 4 4Applet应用 3 设置颜色可用java awt Color类类设置或获取某一容器组件内的图形 文字的颜色 Color类已包含13个颜色常量常用构造方法publicColor intr intg intb publicColor floatr1 floatg1 floatb1 2 设置字体和颜色 编程方法 利用Color类创建出一Color类对象并设置颜色特性参数 三基色的分量 调用Graphics类中的setColor 将用户的颜色加入到系统中 再调用绘制函数输出图形 文字等 4 4Applet应用 publicvoidpaint Graphicsg ColormyColor newColor red green blue g setColor myColor g drawString 这是Java中的带颜色的文字串 100 100 要点 对Java的组件也可借助于以下函数来改变或获取组件的前景和背景色 setBackground setForeground 设置前景和背景色 getBackground getForeground 获取前景和背景色 importjava applet Applet importjava awt publicclassExam4 4extendsApplet publicvoidpaint Graphicsg Fontfont1 font2 font3 font1 newFont Serif Font BOLD 20 font2 newFont Monospaced Font BOLD Font ITALIC 24 font3 newFont SansSerif Font PLAIN 16 g setFont font1 g drawString Serif20pointBOLD 30 20 g setFont font2 g drawString Monospaced24pointBOLD ITALIC 30 80 g setFont font3 g drawString SansSerif16pointPLAIN 30 50 intsize font2 getSize intstyle font1 getStyle Stringname font2 getName Stringstr name style size g drawString str 30 110 4 4Applet应用 importjava applet Applet importjava awt publicclassExam4 6extendsApplet Fontfont1 newFont TimesRoman Font ITALIC 25 Fontfont2 newFont Braggadcoio Font BOLD 40 publicvoidpaint Graphicsg Stringstr IloveBeijing Colormycolor newColor 192 64 200 g setFont font1 g setColor mycolor g drawString str 30 40 Colordarker mycolor darker g setColor darker g drawString str 50 80 Colorbrighter mycolor brighter g setColor brighter g drawString str 70 120 g setFont font2 g setColor Color red g drawString str 30 170 g setColor Color white g drawString str 32 169 4 4Applet应用 4 4Applet应用 3 绘制几何图形 画直线voiddrawLine intx1 inty1 intx2 inty2 画矩形voiddrawRect intx inty intwidth intheight voidfillRect intx inty intwidth intheight voidclearRect intx inty intwidth intheight voiddrawRoundRect intx inty intwidth intheight intarcWidth intarcHeight voiddraw3DRect intx inty intwidth intheight booleanb voidfill3DRect intx inty intwidth intheight booleanb 4 4Applet应用 3 绘制几何图形 画圆弧和椭圆voiddrawArc intx inty intwidth intheight intstartAngle intarcAngle voidfillArc intx inty intwidth intheight intstartAngle intarcAngle voiddrawOval intx inty intwidth intheight voidfillOval intx inty intwidth intheight importjava applet Applet importjava awt publicclassExam4 8extendsApplet publicvoidpaint Graphicsg intx0 10 y0 20 X 150 Y 80 L c intarc 0 N 10 doublexy 1 0 X Y N 2 g setColor Color red g fillRect x0 y0 X X for inti 0 i N i L int X 2 i xy arc Y i N c i 240 N g setColor newColor c c c g drawRoundRect int x0 i xy int y0 i xy L L arc arc g setColor Color blue g draw3DRect 200 y0 X X true g setColor Color green g fill3DRect 400 y0 Y Y false 4 4Applet应用 画多边形publicvoiddrawPolygon intxPoints intyPoints intPoints publicvoidfillPolygon intxPoints intyPoints intPoints publicvoiddrawPolygon Polygonp publicvoidfillPolygon Polygonp Polygon类构造方法Polygon Polygon intxPoints intyPoints intnumberOfPoints 4 4Applet应用 1 加载图像 定义获取图像对象 java awt包java awt Image类1 JavaApplet中加载图像 直接调用 getImage URLurl Stringname 4 4Applet应用 3 显示图像 url 给出图片文件基本位置的绝对URL路径 name 图片文件名称 它相对于url参数的图片位置 当前网页文件的URL路径 例如 ImagemyImage myImage getImage getDocumentBase edonkey jpg 4 4Applet应用 try URLurl newURL 例如使用网站URL路径 注意 Applet程序和将要获取的资源文件 例如图片和音频文件等 必须存放在同一个服务器中 由于Applet程序的安全限制 它不能够访问其他服务器上的文件 4 4Applet应用 2 JavaApplication中加载图像 ImagemyImage Toolkit getDefaultToolkit getImage imageFileName 加载图像 2 显示图像的操作drawImage Imageimg intx inty ImageObserverobserver drawImage Imageimg intx inty intwidth intheight ImageObserverobserver 4 4Applet应用 其中第四个参数可以为null 不跟踪图像载入时 或this 跟踪图像载入时 跟踪者为本程序 图像编程的要点 先加载图像 将它定义为Image类对象 再跟踪图像的加载过程 最后显示出图像 importjava applet Applet importjava awt publicclassExam4 13extendsApplet publicvoidpaint Graphicsg Imagepic pic getImage getDocumentBase edonkey jpg intx0 10 y0 30 intw pic getWidth this inth pic getHeight this g drawImage pic x0 y0 w 8 h 8 this g drawImage pic x0 150 y0 w 12 h 12 this g drawImage pic x0 150 y0 100 w 15 h 15 this g drawImage pic x0 250 y0 30 int w 0 1 int h 0 2 this 4 4Applet应用 4 4Applet应用 4 动画编程 1 动画原理 画出一系列的图像帧 利用人眼的视觉暂停来造成运动的感觉 2 常见的动画效果及实现原理 利用线程达到循环显示输出 1 运动效果 平动 改变文字在显示时g drawString 的x y坐标位置或g drawImage 中的x y坐标位置 规则运动 如果x y之间满足一定的数学规则 2 变焦 由远到近 文字由小到大 由近到远 文字由大到小 利用线程不断地改变文字的字体大小或图像的大小 3 淡入淡出 利用线程不断地改变文字的颜色并将颜色按某种规则变化 4 4Applet应用 3 动画的质量 除了图片本身的好坏外 动画中动作的平滑程度也是一大关键 每秒所播放的图像数较多 动画中动作的平滑程度则较高 10 20帧 秒 动画的速度则可利用Java的线程来实现并用threadObj sleep 来延迟以控制动画的速度 4 动画的图像载入编程技巧 利用getImage 函数并用Image数组来存放各个Image对象 同时为利用一个for 循环来将图片全部载入 应而各个图像文件名也应有要求 一般可采用数字编码来命名文件名 注意只有在图像文件全部加载完毕以后再显示出 否则会断续显示 这可由MediaTracker类中的waitForAll 方法实现对图像载入过程的跟踪 5 动画的载体 文字或图像 实例1 文字淡入淡出 1 原理 利用new创建一个线程 用drawString 在屏幕指定位置显示出文字 然后让线程休眠一段时间 再改变文字显示的位置或颜色 最后再显示文字 其中包括边界判断 重设坐标 2 编程技巧 可利用Graphics类中的clipRect 函数用于限定绘制范围 从而减少清屏的区域以避免图像闪烁 实例2 图像动画 4 4Applet应用 importjava applet Applet importjava awt publicclassimg1extendsApplet Image m Images intsum 18 intcur 0 StringstrImage publicvoidinit m Images newImage 18 for inti 0 i sum i strImage images img00 i 10 0 i gif m Images i getImage getDocumentBase strImage publicvoidstart cur 0 publicvoidpaint Graphicsg g drawImage m Images cur 50 50 this cur cur sum try Thread sleep 50 catch InterruptedExceptione showStatus e toString repaint 4 4Applet应用 4 4Applet应用 4 音频播放 编程要点 先加载声音文件 再播放它 编程方法 1 在Applet程序中直接调用play 函数 play getDocumentBase mySound au 但此方法的缺点是用户无法控制它 Java语言除了能够处理图片资源之外 还可以获取并播放音频 视频等多媒体资源 和图像处理一样 支持的主要音频格式有AIFF AU MIDI WAV RMF等 Applet对音频资源也使用URL路径定位 所以同样需要捕获和处理URL的异常 4 4Applet应用 2 使用AudioClip接口提供的相关API来实现音频播放 停止和循环播放 AudioClip接口中定义了3个方法 1 play 方法该方法将从头开始重新播放指定的音频剪辑 2 stop 方法该方法将停止当前正在播放的音频剪辑 3 loop 方法该方法将循环播放指定的音频剪辑 Applet类中提供了多个播放音频资源的方法 它们都可以获取AudioClip接口的实现 并调用该接口中定义的方法控制音频的播放与停止 4 4Applet应用 4 getAudioClip 方法该方法可以获取URL参数指定的AudioClip对象 该对象是AudioClip接口的一个实现 当调用该对象的方法进行音频播放时 音频资源中的数据将被加载并播放 该方法有两种重载方式 1 第一种重载格式 url 音频资源的URL路径参数 该方法根据url参数指定的路径寻找音频资源 并返回AudioClip对象 2 第二种重载格式为 url 音频资源的URL参考路径 name 音频文件名称 它相对于url参数的音频剪辑位置 getAudioClip URLurl getAudioClip URLurl Stringname play 方法 该方法可以播放指定绝对URL路径的音频剪辑 如果未找到音频剪辑 则没有任何效果 使用该方法只能播放音频 因为它没有返回AudioClip对象 所以无法实现停止音频播放 该方法同样有两种重载方式 1 第一种重载的语法格式为 url 该参数指定了音频资源的URL绝对路径 2 第二种重载的语法格式为 url 该参数指定了音频资源的URL绝对路径 name 音频文件名称 它相对于url参数的音频剪辑位置 play URLurl play URLurl Stringname newAudioClip 方法 该方法可以创建AudioClip对象 它是一个静态方法 不仅可以应用在Applet程序中 在Swing程序和所有Java程序中都可以使用Applet类的静态方法newAudioClip 创建AudioClip对象 实现音频播放 一般格式为 创建AudioClip对象以后 就可以调用相应的方法实现音频的播放和停止了 try URLurl newURL getCodeBase 08 WAV AudioClipaudio newAudioClip url catch MalformedURLExceptione e printStackTrace JAR文件是Java的打包文件 它可以将多个编译后的类文件和图片 音频 视频 文本 属性等资源封装到一个JAR文件中 JAR使用ZIP压缩格式存储数据 它的体积更小 在网络中的传输更快捷 另外导致网络传输速度下降的原因与创建多个文件的连接有关 如果一个Applet程序由4个或更多的类组成 在执行该Applet程序时 将会建立多个文件的连接 而浏览器与Web服务器建立连接很耗费时间 如果将该程序打包成一个JAR文件 只需建立一个文件连接 便可以执行Applet程序 而且JAR文件压缩了数据 体积小了很多 所以下载的时间也更短 HTML中的标签也使用archive属性 提供了对JAR文件的支持 该属性指定封装Applet程序的JAR文件 当浏览包含Applet程序的网页时 首先下载该JAR文件 然后从JAR文件中获取Applet程序代码和涉及的资源 JavaApplet及应用 JAR文件 在安装好JDK以后 在JDK的安装文件夹中包含bin子文件夹 该文件夹中包含了编译 调试和运行Java程序的多种工具 其中 jar exe 文件是JAR文件打包工具 使用该工具可以创建JAR文件并封装各种资源文件和编译好的Java文件 一般格式为 cvf 该参数用于生成JAR压缩文档并输出详细信息 jarName 该参数用于指定JAR文件名称 file1 添加到JAR文件中的第一个文件 file2 添加到JAR文件中的第二个文件 可以使用通配符指定多个文件 也可以在file2参数后再指定其他文件 jarcvfjarNamefile1file2 使用JDK工具生成JAR 使用Eclipse开发工具生成JAR 现在的应用程序 操作系统 开发工具逐渐图形化 而且有很多的命令由于参数过多难以记忆 使用开发工具完成JAR文件的创建已经是最常用的一种方式 Eclipse作为一个强大的Java开发工具 不但提供了Java源程序的代码辅助 智能纠错 动态调试等环境 而且还可以直接将程序代码导出成为一个JAR文档文件 具体操作步骤如下 使用JAR文件中的Applet程序 将程序制作成JAR文件之后 在HTML的标签中访问JAR文件中的Applet程序可以使用如下HTML代码 标签使用archive属性指定了 AudioPlay jar 文件 Applet程序在运行时期 会先下载该JAR文件 然后运行JAR文件中的ImgPlayer class类文件
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!