Java教材课件07.ppt_第1页
Java教材课件07.ppt_第2页
Java教材课件07.ppt_第3页
Java教材课件07.ppt_第4页
Java教材课件07.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第7章Applet小程序,2,7.1Applet概述,7.1.1Applet小程序简介Java小应用程序(JavaApplet)是使用Java语言编写的一段代码,它能够在浏览器环境中运行。Applet与Application地主要区别在于它们的执行方式不同:,Application是使用命令行命令直接运行,从其main()方法开始运行的;而Applet则是在浏览器中运行的,首先必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行,再在浏览器中给出该HTML文件的URL地址即可,Applet本身的执行过程也比Application复杂。,3,7.1Applet概述,回忆一下小应用程序的书写格式importjava.applet.*;publicclassMyAppletextendsApplet;每一个小应用程序都继承自java.applet.Applet类,并且每个小应用都有一个主程序类,之前必须加上public。,URL(UniversalResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址(Address)。,4,2.1所有小应用程序的根源,http:/someLocation/file.html,游览器按网址URL下载超文本文档。游览器按文档中的applet类名,下载applet类的字节码文档。游览器按代码要求,下载有关图像文档。游览器运行字节码,即运行applet,Appletclass,5,7.1Applet概述,看看我们以前学过的一个简单例子:,importjava.applet.*;importjava.awt.*;publicclassHelloAppletextendsAppletpublicStrings;publicvoidinit()s=newString(“HelloWorld!”);publicvoidpaint(Graphicsg)g.drawString(s,25,25);,HelloWorld,HelloApplet.java,6,7.1Applet概述Applet的运行控制,Applet的运行控制,7,Applet的生命周期,7.1Applet概述Applet的运行控制,8,7.1Applet概述Applet的运行控制,Applet中没有main()方法。当Applet被浏览器运时init()、start()、stop()、destroy()方法等自动执行:init()方法:初始化,自动调用,只执行一次。本方法主要完成一些在Applet构造方法所不不能完成的工作。start()方法:初始化后,重入等都将自动调用。本方法是Applet的主体,在其中可以执行一些任务或启动相关的线程来执行任务。stop()方法:离开Applet所在页面时调用,以停止消耗系统资源。destroy()方法:浏览器关闭时自动调用,以清除Applet所用的所有资源。,9,7.3Applet应用,3.创建自己的Font和Color在许多场合,默认的字体或颜色特征可能不能满足用户要求,这时,可以创建自己的字体或颜色特征。(1)创建字体的具体步骤创建一个需要的Font对象publicFont(Stringname,intstyle,intsize)其中:name是字体家族名;style是字体的风格,它可以是Font.PLAIN,Font.BOLD,Font.ITALIC及其组合;size是字体的大小。例如:Fontft1=newFont(TimesNewRoman,Font.PLAIN,20);Fontft2=newFont(宋体,Font.BOLD+Font.ITALIC,18);Fontft3=newFont(楷体_GB2312,Font.BOLD,50);,10,设置Font对象,通知Java系统使用该字体创建字体后,要使字体起作用,需采用publicabstractvoidsetFont(Fontft)方法。该方法是AWT中Graphics类的方法,其中ft1、ft2是创建的字体对象。(2)创建颜色的具体步骤创建一个需要的Color对象publicfinalstaticColor(intcolor1,intcolor2,intcolor3)其中:color1,color2,color3是Color颜色对象的三色值又称RGB值【0,255】。例如:Colorc=newColor(255,255,255);/白色设置Color对象,通知Java系统使用该颜色。创建颜色后,要使颜色起作用,需采用publicabstractvoidsetColor(Colorc)方法。该方法是AWT中Graphics类的方法,其中c是创建的颜色对象。,11,7.3.2Applet的应用包括:AWT绘图文字图像动画补充:画文字和基本图形画五角星,7.3Applet应用,12,字体度量元Fontmetrics,Xy1O,画文字,13,绘制矩形,publicabstractvoiddrawRect(intx,inty,intw,inth),/*drawRect方法:前两个参数指明矩形左上角坐标。第三、第四个参数分别指明矩形的宽和高*/,/左上角坐标x,/左上角坐标y,/矩形的宽,/矩形的高,x,y,14,充填矩形,publicabstractvoidfillRect(intx1,inty1,intx2,inty2),/*drawfill方法:前两个参数指明矩形左上角坐标。第三、第四个参数分别指明矩形的宽和高,充填矩形*/,/左上角坐标x,/左上角坐标y,/矩形的宽,/矩形的高,x,y,15,绘制圆角矩形,publicabstractvoiddrawRoundRect(intx1,inty1,intx2,inty2,intx3,inty3),/*drawRoundRect方法:前两个参数指明矩形左上角坐标。第三、第四个参数分别指明矩形的宽和高,第五、第六个参数分别指明弧宽和弧高*/,/圆角左上角坐标x,/圆角左上角坐标y,/圆角矩形的宽,/圆角矩形的高,/圆角矩形的四角的弧宽,/圆角矩形的四角的弧高,16,for(inti=0;i5;i+)g.drawRoundRect(10+i*70,10,50,100,25,25);for(inti=0;i5;i+)g.fillRoundRect(10+i*70,130,50,100,25,25);,17,绘制椭圆,18,或充填fillOval,publicabstractvoiddrawOval(intx,inty,intwidth,intheight),19,绘制圆弧,PublicabstractrvoiddrawArc(intx,inty,intwidth,intheight,intstartAngle,intarcAnble),/开始角度,/划过的度数,正角度,20,Fontft1=newFont(TimesNewRoman,Font.PLAIN,20);Fontft2=newFont(宋体,Font.BOLD+Font.ITALIC,18);Fontft3=newFont(楷体_GB2312,Font.BOLD,50);,g.setColor(Color.blue);g.setFont(newFont(楷体_GB2312,Font.BOLD,50);g.drawImage(heart,x,y,this);g.drawString(我的中国心,x,y);,heart=getImage(getCodeBase(),heart1.gif);,下载影像文档,21,for(inti=0;i10;i+)for(intj=0;j2;j+)g.drawString(namecounter+,90+60*i+j*100,20+i*50);,22,使用Java的MediaTracker来判断图像是否完成加载。classMediaTracker的定义,在java.awt内,MediaTrackermt;,publicvoidinit()mt=newMediaTracker(this);img=getImage(getCodeBase(),heart1.gif);mt.addImage(img,0);trymt.waitForAll();catch(InterruptedExceptionie)w=img.getWidth(this);h=img.getHeight(this);,/声明一个MediaTracker类的属性,/建立一个跟踪器mt,/把图片加载到所跟踪的图片中,/等待所有图片加载完,/待执行完waitForAll(),/所有图像文档都下载后,/方可引用影像对象img,23,publicvoidpaint(Graphicsg)intcounter=0;intPx=0,Py=40;intwidth=w;intheight=h;for(inti=0;i4;i+)g.drawImage(img,Px,Py,width,height,this);g.drawRect(Px,Py,width,height);Px+=width;Py+=height;width*=1.1;height*=1.1;,24,绘制多边形,publicabstractvoiddrawPolygon(intxPoints,intyPoints,intPoints)publicabstractdrawPolygon(Polygonp)publicpolygon(intxValues,intyValues,intnumberofpoints),/多边形构造函数,25,publicvoidpaint(Graphicsg)intx=100,130,70,100;inty=20,100,100,20;g.drawPolygon(x,y,4);intxx=200,230,170;intyy=20,100,100;g.setColor(Color.RED);Polygonp=newPolygon(xx,yy,3);g.fillPolygon(p);,两种途径绘制多边形,(100,20),(200,20),(130,100),(230,100),(70,100),(170,100),26,五角星十个顶点的座标intx=0,12,54,18,28,0,-28,-18,-54,-12,0;inty=-53,-17,-17,1,45,19,45,1,-17,-17,-53;,27,importjava.awt.*;importjava.applet.Applet;publicclassStarextendsAppletintx=0,12,54,18,28,0,-28,-18,-54,-12,0;inty=-53,-17,-17,1,45,19,45,1,-17,-17,-53;publicvoidpaint(Graphicsg)for(inti=0;i5;i+)g.fillRect(300,i*15,10,10);Polygonp=newPolygon(x,y,11);g.translate(100,100);g.setColor(Color.yellow);g.fillPolygon(p);g.setColor(Color.red);g.drawPolygon(p);,28,voiddrawStar(intx0,inty0,doublef,doubler,Graphics2Dg)intx=0,12,54,18,28,0,-28,-18,-54,-12,0;inty=-53,-17,-17,1,45,19,45,1,-17,-17,-53;enlarge(x,y,f);g.translate(x0,y0);g.rotate(r);g.fillPolygon(x,y,x.length);g.rotate(-r);g.translate(-x0,-y0);,voidenlarge(inta1,inta2,doublef)for(inti=0;ia1.length;i+)a1i*=f;a2i*=f;,/*将多边形放大f倍*/,/旋转r弧度,/将坐标系转回r弧度,/将坐标轴的位置移回初始原点,在位置【x0,y0】处画一个f倍的,且顺时针旋转r弧度的实心五角星,29,(165,165),(359,211),(362,121),(301,60),(301,268),Lab3.在Applet画板上,绘制国旗图形,30,五角星多边型各点坐标如下所示,Y,X,(0,0),drawStar(165,165,1.4,0.00,(Graphics2D)g);,31,Y,X,(0,0),drawS

温馨提示

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

评论

0/150

提交评论