




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 Applet小应用程序,8.1 applet基础,在浏览器内运行的java程序 applet仍然要比HTML、XML以及脚本技术的任意组合强大的多 跨平台 很安全 不能访触摸任何本地文件 不能访问源站点以外的网络资源 通过数字签名验证的可以做更多事情,当applet刚被开发出来时,只有sun的HotJava能查看包含applet的网页,Netscape 、IE的加入,使得applet真正流行起来,仅支持Java1.1的大部分功能,解决方法:Java插件,Java2 SDK 自动下载插件,一。什么是Japplet(Applet) 一个Java applet程序中必须有一个类是JApple
2、t类的子类,称该子类为Java applet的主类 例:public class DrawImage extends JApplet 主类必须用public来修饰 主类的实例是一个容器,二.Applet的运行 applet必须嵌入HTML文件中方可执行,因此HTML页必须告诉浏览器需加载哪个applet及在网页中的位置, ,例: ,Applet可在浏览器下运行 c:1000boy.html 也可用JDK的开发工具中的appletviewer工具浏览Applet效果 c:1000appletviewer boy.html 如果一个HTML文件 中包含多个applet,那么运行时,将会弹出多个窗口
3、,一个小技巧 可将applet标记作为注释添加到源程序中: /* */ public class Not extends JApplet . 然后用appletviewer来直接运行名为Not.java的源程序 appletviewer Not.java 例:Not.java,三.JApplet类 JApplet(Applet)类是所有applet的基类,所有的小应用程序都是该类的子类 import java.applet.*; public class Testapplet extends JApplet . ,常用方法:,判断applet是否年于激活状态 public boolean is
4、active(),文件定位方法 public URL getCodeBase( ),public Image getImage( URL url) public Image getImage( URL url,String name) public AudioClip getAudioClip( URL url) public AudioClip getAudioClip( URL url,String name),播放声音、显示图象、输出字符串方法 public void play(URL url) public void loop(URL url) public void drawImag
5、e(img,x,y) public void drawString(str,x,y),applet构成方法 public void init( ) public void start( ) public void stop( ) public void destroy( ) public void paintComponent( ) public void repaint( ),8.2一个applet的生存周期,JApplet中常用的几种常用方法,public class classname extends JApplet public void init() . public void st
6、art() . public void stop( ) public void destroy( ) . public void paintComponent(Graphics g) . ,init( ) 当一个applet被系统执行时,系统将首先自动执行init( )方法 通常用init( )方法作一些初始化工作。如:创建对象、设置初始状态、加载图象等 public void init( ) Init()方法只能被执行一次,start( ) 系统在执行完init()后,将自动执行start() public void start( ) . 每当离开Applet主页后再返回时,系统会再一次执行
7、start( )方法 Start( ) 可被执行多次,stop()方法 当用户离开Applet所在的页面转到其它页面时,stop( )方法被调用 public void stop( ) 当浏览器又回到Applet所在页时,start( )方法又会被调用 stop( )也可被执行多次,destroy( ) 系统在浏览器关闭时才调用destroy( ) 调用destroy( )方法时,它将负责收回占用的系统资源,paintCompoment ( ) 可用paintCompoment (Graphics g)方法在屏幕上输出信息,如文字、色彩、图像等 当调用paintCompoment ()方法时,
8、浏览器产生一个Graphics类的实例,并传给方法paintCompoment ( )中的参数g 利用g可调用Graphics类中的方法 例: g.drawString(“x=“+x,10,10),当applet对页面有重绘的需求时,如:被其它页面遮挡之后重新放在最前面、改变浏览器的大小、以及applet要显示信息 paintCompoment()方法都会被自动调用,PaintCompoment()方法在applet的生命周期内可以被多次调用 例:下面的例子统计各方法被执行次数 MethodCount.java,public void init() initcount=initcount+1;
9、 public void start() startcount=startcount+1; public void stop() stopcount+; public void destroy() destroycount+;,public void paint(Graphics g) paintcount+; g.drawString(initcount =+initcount,10,20); g.drawString(startcount =+startcount,10,40); g.drawString(stopcount =+stopcount,10,60); g.drawString
10、(destroycount=+destroycount,10,80); g.drawString(paintcount =+paintcount,10,100); ,repaint() 你永远不要企图调用paintCompoment(),一般可通过调用repaint()方法时,实现对paintCompoment()的调用,repaint执行如下; 首先清除paintComponent( )方法以前所画内容 再调用paintCompoment()方法重画,例:一个字符串向下移动的例子 MoveString.java MouseDemo.java,8.3Applet的标记的属性-chart.jav
11、a 一.定位属性 1.widthheight 2.align RIGHT LEFT TOP BOTTOM MIDDLE ABSMIDDLE BASELINE ABSBOTTOM TEXTTOP VSPACEHSPACE,二.代码属性 用于告诉浏览器如何定位applet代码,1.code 如果applet类位于com.mycompany中,则: Code=“com/mycompany/Myapplet.class”,2.codebase 此属性用于applet与HTML不在同一目录下的情形,如何搜索class文件,appletTest.class位于Myapplet子目录下,而Myapplet子
12、目录与HTML文件在同一目录下 ,三.接收信息至applet中 Applet可以通过使用HTML中的PARAM标记获得内嵌在HTML上中的参数. 例:在HTML中定义如下:, ,在applet中可使用JApplet类中的 getParameter()来提取参数值,Public class FontParameterApplet extends JApplet public void init() String fontName=getParameter(“font”); .,API:public String getParameter(String name),例:chart.java,8.4
13、多媒体,8.4.1 显示图象 一.Java支持的主要图像类型:,GIF JPEG BMP,定义Image对象 Image picture;,从文件加载图像getImage()方法 public Image getImage( URL url, String name) 例:picture=getImage( getCodeBase(),”family.jpg”);,二.加载图象,三.显示图像-DrawImage.java Graphics类提供drawImage()方法,可用来绘制图像,public boolean drawImage( Image img, int x,int y, Imag
14、eObserver observer),该方法应在paintComponent()方法中通过参数g调用 例:g.drawImage(picture,10,30,this);,例:一个加载图像的例子DrawImage.java,可调整宽度和调度的drawImage()方法 public boolean drawImage( Image img, int x,int y, int width, int height, ImageObserver observer),采用这些方法显示图象时,会自动对图象按指定的高度和宽度进行拉伸,Image类提供了两个方法,常用来和上述方法联合使用: getHetg
15、ht()用来获得图象的实际高度 getWidth()用来获得图象的实际宽度,例: img.getHeight(this) img.getWidth(this),8.4.2 播放声音,一.播放声音,目前Java仅支持AU、WAVE、MIDI、AIFF格式,AudioClip类用来在Java Applet中播放声音。该类在java.Applet.audioClip中有定义,二.加载声音文件,创建对象: AudioClip 对象名;,加载 声音文件 对象名=getAudioClip(URL url,文件名),例:AudioClip audio; audio=getAudioClip(getCodeb
16、ase( “spacemusic.au”);,三.播放声音 AudioClip类提供播放方法: play()-播放一遍 loop()-循环播放 例: audio.play(); audio.loop();,例: 一个播放声音的小例子PicSound.java,8.4.3 JMF(Java Media Framwork) Java媒体框架 作用: 1、音频播放 2、视频播放: avi,gsm,mpg,mov,rmf,rtp,viv 3、编写摄像头拍照程序,JMF下载地址: java-media/jmf/index.jsp,8.4.4 Java 语音API 核心技术:语音识别和语音合成,语音合成: 用于从文本中产生合成的语音 语音识别: 从包含语音的音频输入中产生文本,Java语音API的基本信息: J,SUN没有提供Java语音API的实现工具,常用 的是IBM公司开发的语音
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠安三中高三数学试卷
- 医疗器械临床试验质量管理2025年法规实施现状与改进报告
- 2025年绿色环保产业资金申请政策解读与产业布局报告
- 2022年海林市三年级语文期中考试试卷
- 2022年古交市二年级语文期末考试试卷
- PICC导管堵塞的护理进展
- 2022年大庆市一年级语文第二单元考试试卷(北师大版)
- 大学参军入伍学生保留学籍申请(审批)表
- 二零二五年度医院食堂餐饮服务标准化与规范化合同
- 2025版建筑涂料施工项目进度管理及协调合同
- 投资合作协议及投资细则说明
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
- 闺蜜合同协议书模板模板
- 2025年金华市警示教育基地管理中心选调考试笔试试题
- 2025年全国应急管理普法知识竞赛测试试卷(含答案)
- 全国集体荒地管理办法
- 2025年中国医疗建筑工程行业市场行情动态分析及发展前景趋势预测报告
- 教师招聘教育学试题及答案
- 2025至2030中国自我血糖监测系统行业市场深度研究及发展前景投资可行性分析报告
- 2025年初中音乐教师招聘考试试卷 及答案
- 2025至2030中国电子工业洁净工程行业发展现状及市场格局与投资风险预测报告
评论
0/150
提交评论