版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章Applet小应用程序6.1applet基础在浏览器内运行的java程序applet仍然要比HTML、XML以及脚本技术的任意组合强大的多跨平台很安全
当applet刚被开发出来时,只有sun的HotJava能查看包含applet的网页Netscape、IE的加入,使得applet真正流行起来仅支持Java1.1的大部分功能解决方法:Java插件Java2SDK自动下载插件一.什么是Japplet(Applet)一个Javaapplet程序中必须有一个类是JApplet类的子类,称该子类为Javaapplet的主类例:publicclassDrawImageextendsJApplet主类必须用public来修饰主类的实例是一个容器二.Applet的运行applet必须嵌入HTML文件中方可执行,因此HTML页必须告诉浏览器需加载哪个applet及在网页中的位置<appletcode=字节码文件名width=nheight=n></applet>例:<appletcode=DrawImage.classwidth=200height=300></applet>Applet可在浏览器下运行
c:\1000\boy.html也可用JDK的开发工具中的appletviewer工具浏览Applet效果
c:\1000\appletviewerboy.html如果一个HTML文件中包含多个applet,那么运行时,将会弹出多个窗口三.JApplet类JApplet(Applet)类是所有applet的基类,所有的小应用程序都是该类的子类importjava.applet.*;publicclassTestappletextendsJApplet{….}
Applet类中常用方法:判断applet是否处于激活状态publicbooleanisactive()文件定位方法publicURLgetCodeBase()publicImagegetImage(URLurl)publicImagegetImage(URLurl,Stringname)publicAudioClipgetAudioClip(URLurl)publicAudioClipgetAudioClip(URLurl,Stringname)
播放声音、显示图象、输出字符串方法publicvoidplay(URLurl)publicvoidloop(URLurl)publicvoiddrawImage(img,x,y)publicvoiddrawString(str,x,y)applet构成方法publicvoidinit()publicvoidstart()publicvoidstop()publicvoiddestroy()publicvoidpaintComponent()publicvoidrepaint()
6.2一个applet的生存周期JApplet中常用的几种常用方法publicclassclassnameextendsJApplet{publicvoidinit(){………….}publicvoidstart(){……….}publicvoidstop(){…………}publicvoiddestroy(){………….}publicvoidpaintComponent(Graphicsg){…………}…………….}init()
当一个applet被系统执行时,系统将首先自动执行init()方法通常用init()方法作一些初始化工作。如:创建对象、设置初始状态、加载图象等publicvoidinit(){……}Init()方法只能被执行一次
start()系统在执行完init()后,将自动执行start()publicvoidstart(){…..}每当离开Applet主页后再返回时,系统会再一次执行start()方法Start()可被执行多次stop()方法当用户离开Applet所在的页面转到其它页面时,stop()方法被调用publicvoidstop(){……}当浏览器又回到Applet所在页时,start()方法又会被调用stop()也可被执行多次destroy()系统在浏览器关闭时才调用destroy()调用destroy()方法时,它将负责收回占用的系统资源paintCompoment()可用paintCompoment(Graphicsg)方法在屏幕上输出信息,如文字、色彩、图像等当调用paintCompoment()方法时,浏览器产生一个Graphics类的实例,并传给方法paintCompoment()中的参数g利用g可调用Graphics类中的方法例:g.drawString(“x=“+x,10,10)当applet对页面有重绘的需求时,如:被其它页面遮挡之后重新放在最前面、改变浏览器的大小、以及applet要显示信息paintCompoment()方法都会被自动调用PaintCompoment()方法在applet的生命周期内可以被多次调用例:下面的例子统计各方法被执行次数MethodCount.javapublicvoidinit(){initcount=initcount+1;}publicvoidstart(){startcount=startcount+1;}publicvoidstop(){stopcount++;}publicvoiddestroy(){destroycount++;}publicvoidpaint(Graphicsg){paintcount++;g.drawString("initcount="+initcount,10,20);g.drawString("startcount="+startcount,10,40);g.drawString("stopcount="+stopcount,10,60);g.drawString("destroycount="+destroycount,10,80);g.drawString("paintcount="+paintcount,10,100);}repaint()永远不要企图调用paintCompoment(),一般可通过调用repaint()方法时,实现对paintCompoment()的调用.首先清除paintComponent()方法以前所画内容再调用paintCompoment()方法重画repaint执行如下:6.3Applet的标记的属性---chart.java一.定位属性1.width\height2.align—这个属性指定applet的对齐方式RIGHTLEFTTOPBOTTOMMIDDLEABSMIDDLEBASELINEABSBOTTOMTEXTTOPVSPACE\HSPACE二.代码属性用于告诉浏览器如何定位applet代码1.code如果applet类位于与HTML在同一文件夹中,则:Code=“Myapplet.class”如果applet类位于com.mycompany中,而com/mycompany与HTML在同一文件夹中,则:Code=“com/mycompany/Myapplet.class”appletTest.class位于Myapplet子目录下,而Myapplet子目录与HTML文件在同一目录下<appletcode=“appletTest.class”CODEBASE=“Myapplet”width=200height=300></applet>2.codebase此属性用于applet与HTML不在同一目录下的情形,如何搜索class文件三.接收信息至applet中Applet可以通过使用HTML中的PARAM标记获得内嵌在HTML中的参数.例:在HTML中定义如下:<appletcode=DrawImage.classheight=300width=230><paramname=“font”value=“serif”></applet>
在applet中可使用JApplet类中的
getParameter()来提取参数值PublicclassFontParameterApplet
extendsJApplet{publicvoidinit(){StringfontName=getParameter(“font”);…….}API:publicStringgetParameter(Stringname)例:chart.java<PARAMNAME="title"VALUE="DiametersofthePlanets"><PARAMNAME="values"VALUE="9"><PARAMNAME="name_1"VALUE="Mercury"><PARAMNAME="name_2"VALUE="Venus"><PARAMNAME="name_3"VALUE="Earth"><PARAMNAME="name_4"VALUE="Mars">………..<PARAMNAME="value_1"VALUE="31000"><PARAMNAME="value_2"VALUE="70500"><PARAMNAME="value_3"VALUE="8000"><PARAMNAME="value_4"VALUE="4200">……….
for(i=0;i<n;i++){values[i]=Double.parseDouble(getParameter("value_"+(i+1)));names[i]=getParameter("name_"+(i+1));}
Stringv=getParameter("values");if(v==null)return;intn=Integer.parseInt(v);double[]values=newdouble[n];String[]names=newString[n];6.4多媒体6.4.1显示图象一.Java支持的主要图像类型:
GIFJPEGBMP定义Image对象
Imagepicture;从文件加载图像--getImage()方法
publicImagegetImage(URLurl,Stringname)二.加载图象例:picture=getImage(
getCodeBase(),”family.jpg”);三.显示图像--DrawImage.javaGraphics类提供drawImage()方法,可用来绘制图像publicboolean
drawImage(Imageimg,
int
x,inty,
ImageObserverobserver)
该方法应在paintComponent()方法中通过参数g调用例:g.drawImage(picture,10,30,this);例:一个加载图像的例子DrawImage.java
可调整宽度和调度的drawImage()方法publicboolean
drawImage(Imageimg,
int
x,inty,
intwidth,
intheight,
ImageObserverobserver)采用这些方法显示图象时,会自动对图象按指定的高度和宽度进行拉伸
Image类提供了两个方法,常用来和上述方法联合使用:getHetght()用来获得图象的实际高度getWidth()用来获得图象的实际宽度例:img.getHeight(this)img.getWidth(this)
6.4.2播放声音一.播放声音目前Java仅支持AU、WAVE、MIDI、AIFF格式AudioClip类用来在JavaApplet中播放声音。该类在java.Applet.audioClip中有定义加载声音文件对象名=getAudioClip(URLurl,文件名)创建对象:AudioClip
对象名;二.加载声音文件例:AudioClipaudio;audio=getAudioClip(getCodebase(“spacemusic.au”);三.播放声音
AudioClip类提供播放方法:
play()--播放一遍
loop()--循环播放
例:audio.play();
audio.loop();例:一个播放声音的小例子PicSound.java6.4.3JMF(JavaMediaFramwork)Java媒体框架作用:1、音频播放2、视频播放:avi,gsm,mpg,mov,r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青年员工技能培训文档
- 员工素质教育培训方案
- 2024年二手房产共有权分割合同
- 八上家长会课件下载
- 监督执纪保密知识培训
- 销售外包的简单合同
- 活动执行工作总结
- 河南师范大学《写意基础》2021-2022学年第一学期期末试卷
- 2024年度钢筋工程质量保证与索赔合同3篇
- 《家庭急救手册》课件
- 《追求有效教学》课件
- 郑州大学《新能源概论》2022-2023学年第一学期期末试卷
- 专题04 整本书阅读(题型归纳、知识梳理)(考点串讲)-七年级语文上学期期末考点大串讲(统编版2024·五四学制)
- 《跨境电商直播(双语)》课件-4.1跨境直播脚本设计
- 教师职业病教育
- 2024年云南省公务员录用考试《行测》真题及答案解析
- 2024-2030年中国粉末冶金制造行业“十四五”发展动态与发展方向建议报告
- 2024-2030年中国小苏打行业发展前景预测及投资潜力分析报告
- 17 难忘的泼水节(第一课时)公开课一等奖创新教学设计
- 一年级数学20以内加减法口算混合练习题
- 矿山安全生产培训
评论
0/150
提交评论