电子课件第10章_第1页
电子课件第10章_第2页
电子课件第10章_第3页
电子课件第10章_第4页
电子课件第10章_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第10章Applet与绘制,2,10.1、Applet概述,3,AppletJava语言编写的小应用程序,可以直接嵌入到网页或者其他特定的容器和Application的区别Application程序都必须有main方法,这个方法是程序执行的入口Applet小程序依赖于Web浏览器运行,可以没有main方法,4,applet版本的HelloWorldimportjavax.swing.*;publicclassHelloWorldAppletextendsJAppletpublicvoidinit()JLabellbl=newJLabel(Helloworld!,SwingConstants.CENTER);add(lbl);,要运行applet小程序,需要先将这个java源文件编译成字节码文件,5,applet版本的HelloWorld/HelloWorldApplet.htmlHelloworldApplet,6,appletviewer命令appletviewerHelloWorldApplet.html,7,10.2、Applet的生命周期,8,JApplet的基本方法init完成Applet的初始化start调用完init方法后,会自动调用start方法stop用户离开Applet所在页面或调用destroy方法前,方法被自动调用destroy浏览器正常退出时调用Paint用于在小程序中绘制文本、线条或图像,装入小程序,applet的主要事件及状态转移,10,importjavax.swing.*;publicclassDemoAppletextendsJAppletprivateJTextAreata;publicvoidinit()ta=newJTextArea(5,10);ta.setText(初始化n);add(ta);publicvoidstart()ta.append(开始n);publicvoidstop()ta.append(暂停n);,11,10.3、Applet的HTML标记及属性,12,Applet相关的常用HTML标记,13,的常用属性code指定applet字节码文件的文件名width和height指定Applet窗口的尺寸(以像素为单位)align指定Applet的对齐方式codebase指定Applet的URL地址,告诉浏览器在哪个目录下查找字节码文件,14,的常用属性archive用于列出Java压缩文件,其中包含字节码文件或Applet需要的其他资源文件,15,用于从HTML文件向Applet传递参数在applet中用getParameter()方法接收publicclassMyAppletextendsJAppletpublicvoidinit()Stringvalue=getParameter(background);Colorbg=Color.decode(value);/其他代码,16,10.4、几何图形绘制,17,创建绘图接口java.awt.Graphics2DpaintComponent(Graphicsg)publicvoidpaintComponent(Graphicscomp)Graphics2Dcomp2D=(Graphics2D)comp;/其他代码,18,绘制文本drawString()方法drawString(Stringstr,intx,inty);/在坐标(x,y)处绘制字符串str的内容,19,字体java.awt.Font类创建Font类的对象publicFont(Stringname,intstyle,intsize)/name表示字体名,style表示字型,size表示字体大小setFont()方法创建字体后调用此方法设置某个组件的字体,如:comp2D.setFont(f);comp2D.drawString(HelloWorld,100,100);,Fontf=newFont(“Serif”,Font.BOLD+Font.ITALIC,12);,20,颜色java.awt.Color类创建Color类对象publicColor(intr,intg,intb);/参数r、g、b分别表示所需颜色的RGB值,取值范围是0255setColor()方法comp2D.setColor(Color.GREEN);,21,创建几何图形使用java.awt.geom包中的类创建要绘制的图形对象将这个对象作为参数,调用方法draw()或fill()draw()用于绘制图形边框,方法fill()用于填充对象,22,创建几何图形线段类Line2D.Float创建对象publicLine2D.Float(floatx1,floaty1,floatx2,floaty2)/四个参数分别是线段两端点的x,y坐标值矩形类Rectangle2D.Double或Rectangle2D.Float创建对象publicRectangle2D.Double(double,double,double,double)publicRectangle2D.Float(floatx,floaty,floatw,floath)/四个参数分别是矩形左上角坐标和矩形的宽和高,23,创建几何图形多边形类GeneralPath用法创建对象用moveTo方法创建多边形的第一个顶点用lineTo方法创建多边形的边,GeneralPathp=newGeneralPath();p.moveTo(20F,30F);p.lineTo(30F,30F);p.lineTo(25F,40F);,24,创建几何图形椭圆类Ellipse2D.Float创建对象publicEllipse2D.Float(floatx,floaty,floatw,floath)/前两个参数表示椭圆的外切矩形的左上角坐标/第三个参数表示宽度,最后一个参数表示高度。圆弧类Arc2D.Float创建对象publicArc2D.Float(floatx,floaty,floatw,floath,floatstart,floatextent,inttype)/参数x,y表示圆弧所属椭圆的外切矩形的左上角坐标/w和h表示椭圆的宽度和高度,start表示弧的起始角度/extent表示弧环绕的角度,type表示闭合的方式,importjavax.swing.*;importjava.awt.geom.*;classDrawFrameextendsJFramepublicDrawFrame()setTitle(绘制几何图形);setBounds(300,200,500,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);DrawPanelpanel=newDrawPanel();add(panel);ClassDrawPanelextendsJPanel,publicclassDrawFrameDemopublicstaticvoidmain(Stringargs)DrawFramefrm=newDrawFrame();frm.setVisible(true);,classDrawPanelextendsJPanelpublicvoidpaintComponent(Graphicscomp)Graphics2Dcomp2D=(Graphics2D)comp;intx=getSize().width/3;inty=getSize().height/5;comp2D.setColor(Color.blue);comp2D.drawString(绘制直线,x/5,2*y/5);Line2D.Floatline=newLine2D.Float(x/5,3*y/5,4*x/5,3*y/5);comp2D.draw(line);comp2D.drawString(绘制矩形,x/5,6*y/5);Rectangle2D.Floatrect1=newRectangle2D.Float(x/5,7*y/5,3*x/5,4*y/5);Rectangle2D.Floatrect2=newRectangle2D.Float(x/5,13*y/5,3*x/5,4*y/5);comp2D.draw(rect1);comp2D.fill(rect2);comp2D.drawString(绘制椭圆,6*x/5,2*y/5);Ellipse2D.Floatellipse1=newEllipse2D.Float(6*x/5,3*y/5,3*x/5,3*y/5);Ellipse2D.Floatellipse2=newEllipse2D.Float(6*x/5,8*y/5,3*x/5,3*y/5);comp2D.draw(ellipse1);comp2D.fill(ellipse2);,comp2D.drawString(绘制圆弧,6*x/5,14*y/5);Arc2D.Floatarc1=newArc2D.Float(6*x/5,15*y/5,3*x/5,3*y/5,0,90,Arc2D.OPEN);Arc2D.Floatarc2=newArc2D.Float(6*x/5,20*y/5,3*x/5,3*y/5,20,150,Arc2D.PIE);comp2D.draw(arc1);comp2D.draw(arc2);comp2D.drawString(绘制多边形,11*x/5

温馨提示

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

评论

0/150

提交评论