java 之Applet

上传人:伴*** 文档编号:243080993 上传时间:2024-09-15 格式:PPT 页数:73 大小:4.19MB
返回 下载 相关 举报
java 之Applet_第1页
第1页 / 共73页
java 之Applet_第2页
第2页 / 共73页
java 之Applet_第3页
第3页 / 共73页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Applet,Applet,基本概念,什么是,Applet,是能够,嵌入到,HTML,页面,中,并能够在,浏览器中运行,的,Java,类,Applet,自身不能运行,必须嵌入在其他应用程序(,Web,浏览器,或,Java,appletviewer,)中运行,Applet,基础,Applet,的执行过程,将,Applet,嵌入到,HTML,网页,中,支持,java,的浏览器,执行网页,,浏览器从,Web,服务器上,下载,Applet,,并在,本地执行,从,Web,上下载的,java Applet,是在称为,沙箱,(sandbox),的安全环境中运行的,Applet,绝不能运行任何一个本地可执行程序,。,Applet,除了可以与从下载它们的服务器进行通信外,不能与任何主机通信。,Applet,不能读写本地计算机的文件系统,Applet,不能查找除,Java,版本号、操作系统名称及版本号、文件名分隔符(,/,或,)和路径,以外的任何关于本地计算机的信息。,Applet,的生命周期,浏览器在调用,Applet,时,将自动调用,init( ),、,start( ),、,stop( ),、,destroy( ),init( ),每次装载这个,Applet,时,完成初始化工作,在,Applet,被装载时,,仅执行一次,,产生一个,Applet,主类的实例,覆盖此方法可完成用户定义的,初始化工作,,例如初始化,Applet,中的变量、装载图片、设置布局管理器、读取参数值等,Applet,没有构造方法的原因是直到它的,init( ),方法调用之前,不能保证有一个完整的环境,启动,Applet,运行,将,Applet,完全显示出来,start( ),方法,启动,Applet,的执行,调用,init( ),后,自动调用,在,Applet,每次被访问时,被调用,当用户需要每次访问,Applet,所在的,Web,页面时引发一段程序完成某些任务时(如启动一个动画)可覆盖此方法,整个程序生命周期中可以被,执行多次,start( ),方法可以,启动一个或多个执行任务的线程,重新加载,Applet,当用户执行浏览器的刷新操作时,浏览器将先卸载该,Applet,,再加载该,Applet,在这个过程中,,Applet,先,停止自身的运行,,接着实行,善后处理,,,释放,Applet,占用的,所有资源,,然后,加载,Applet,stop( ),方法,停止,Applet,的执行,当用户,离开,Applet,程序所在页面,以及浏览器图标化时被自动调用的,在程序整个生命周期中可,多次调用,。,当用户需要每次离开,Applet,所在的,Web,页面时引发一个动作时可覆盖此方法,当用户不浏览某个,Applet,页面时,该方法将,暂停,Applet,的执行,,使它,不再占用系统的资源,。,可停止需要停止的一些消耗资源的任务,例如:动画、声音、线程,destroy( ),方法,完成,撤消清理,工作,准备,卸载,浏览器正常关闭时被自动调用,用于,关闭,当前,Applet,程序所启动的,所有线程,,并回收内存资源。,对于需要,释放附加资源,的,Applet,来说,可覆盖该方法,stop( ),方法总是在该方法之前被调用,Applet,的生命周期,Applet,示例,import,java.awt.Graphics,;,import,java.applet.Applet,;,public class,JavaApplet,extends Applet,String print_text;,public void init() ,print_text = “,Java Applet,;,public void paint(Graphics g),g.drawString(print_text, 20, 20);,覆盖了,Applet,类的,init( ),方法。该方法主要用于初始化,Applet,中的变量。,覆盖了,Applet,类的,paint( ),方法。,用于在屏幕上给定的位置绘制字符串,Applet,源文件首先用,Java,编译器编译:,javac,Firstapplet.java,创建一个用于显示,Applet,的,HTML,文件:,结果,Applet,类,java.lang.Object,java.awt.Component,java.awt.Container,java.awt.Panel,java.applet.Applet,javax.swing.JApplet,Applet,是一个面板容器,默认使用,FlowLayout,管理器,Applet,类的实例变量,AppletURL,Applet,对应的,URL,DocumentURL,包含,Applet,的文档对应的,URL,BgColor,Applet,的背景颜色,FgColor,Applet,的前景颜色,Font,Applet,的字体,Height,Applet,的窗口高度,Width,Applet,的窗口宽度,Item,用于显示,Applet,的,AppletDisplayItem,框架名,Tag,Applet,在,HTML,文件中的标记,Applet,类的成员方法,public,boolean,isActive,(),确定,applet,是否处于激活状态。,public,URL,getDocumentBase,(),获取嵌入了此,applet,的,HTML,文档的,URL,。, void,resize(int,width,int,height),请求调整此,applet,的大小。,public void,resize(,Dimension,d),请求调整此,applet,的大小。,public,Image,getImage(,URL,url,String,name),public,Image,getImage(,URL,url,),返回能被绘制到屏幕上的,Image,对象。,url,参数必须指定绝对,URL,。,name,参数是与,url,参数相关的说明符。,public,String,getAppletInfo,(),获取并返回,Applet,的作者、版本和版权等信息,public,String,getParameterInfo,(),获取并返回参数信息,包括参数的名称、类型和说明等,public,AudioClip,getAudioClip(,URL,url,String,name),public,AudioClip,getAudioClip(,URL,url,),按参数,URL,和 相对于该,URL,的声音文件名获取声音数据。,public void,play(,URL,url,String,name),根据给定的参数,url,和,name,,播放声音片段,public void,showStatus(,String,msg,),在浏览器的状态条中显示指定的信息,Applet,和,HTML,标记名称,备注,标志整个,HTML,文件的开始和结束,设置浏览器窗口的显示标题,设置显示文件的相关信息,HTML,文件的主体部分,至,设置文字用指定的标题样式显示,设置文本的颜色、字体、大小等属性,、,、,、,设置文字斜体、粗体、下划线、删除线显示,链接到指定的,HTML,文件,显示指定的图片文件,开始一个新的段落,显示指定长度的水平线,、,设置对齐方式,先确定,Applet,的存在(*,.class,文件)。,调用,Applet,,,格式:, your browser can not handle java applets ,调用,Applet,的类文件名的全称,Applet,程序显示区的宽度和高度。,Applet,与,HTML,不在一个目录时,指定,Applet,类文件的目录或,URL,地址,Applet,显示区上下和左右两边空出的像素数。,Applet,窗口在浏览器中的对齐方式。,Applet,的名字,用于,Applet,间通信,浏览器能够理解,APPLET,标记,但不能运行,Java Applet,时应显示的文本。,浏览器不支持,java,时显示的文本,向,Applet,程序传递参数,ARCHIVE=,archiveFiles,如果,Applet,有两个以上的文件,应该考虑将这些文件打包成一个归档,/,压缩文件(,.jar,或,.zip,),当指定归档文件后,浏览器将在,Applet,类文件所在的目录中寻找这些归档文件,并且在归档文件中寻找,Applet,的类文件,减少了,HTTP,连接的次数,大大减少了,Applet,整体的下载时间,使用归档文件也将减少文件的传输时间,jar,cvf,file.zip,*.class *.gif,例:用于显示一个,Applet,类,AppletButton,的完整,HTML,代码,your browser cant run Java applets, so here is a picture of,the window when the program brings up:,例:创建一个播放幻灯片的,Applet,,并将它保存在名为,www.javamachine.edu,的机器上。这个,Applet,要嵌入到位于,www.javamachine.edu,的,Web,页面中,并使用从目录,www.javamachine.edu,/Images,装载,的,3,个图像, A Slide Show , Your browser can not handle Java applets ,利用标记参数向,Applet,传递信息,设计,Applet,参数时,有时需要为每个参数提供合理的,默认值,param,标记:,嵌套在,标记中,可以多个嵌套,public,String,getParameter(,String,name),返回,HTML,标记中命名参数的值。若该参数值没有设置则返回,null,。该方法在,init( ),中调用,不管用户是否在参数值加引号,参数值都将作为一个,字符串,传递到,Applet,中,由,Applet,以不同的方式进行解释,Applet,应该为每个参数设置一个,适当的缺省值,,这样当用户没有指定参数或参数不正确时,,Applet,仍能够正常工作,在,Applet,中定义关于参数的信息,Applet,的用户并非是,Applet,的设计者,用户不掌握,Applet,参数的配置情况,因而,Applet,的设计者应该提供给用户参数的信息,帮助用户正确配置参数,Applet,主类应该重写,getParameterInfo,方法以返回自己支持的参数的信息,public,String,getParameterInfo,(),获取并返回参数信息,包括参数的名称、类型和说明等,颜色:,cyan,字体系列:,Verdana,样式:斜体,字号:,20,颜色:,red,字体系列:,Serif,样式:粗体,字号:,18,在,Applet,中使用弹出式窗口,Applet,在,Web,页面中显示区域的大小是有限的,由,HTML,文件中,标记的,WIDTH,和,HEIGHT,属性定义,可以在,Applet,中使用,弹出式窗口,突破这一限制,该窗口的大小将不受,Web,页面的限制,,Applet,可以在这个窗口中进一步构造所需的用户界面,充分利用有效的屏幕空间,绘制基础,Applet,的显示,Applet,的显示更新是由一个专门的,AWT,线程控制的,在,Applet,的初次显示,或运行过程中浏览器窗口大小发生变化时,该线程将调用,Applet,的,paint( ),方法进行,Applet,绘制,当,Applet,代码需要更新显示内容,从程序中调用,repaint( ),方法,则,AWT,线程在接受到该方法的调用后,将调用,Applet,的,update( ),方法,而,update(),方法再调用,paint( ),方法实现更新,AWT Thread,repaint( ),update( ),paint( ),初次显示、遮盖、,调整大小、最大,最小化等等,public void,paint(,Graphics,g),是进行图形绘制的具体方法。,g,由浏览器生成,包含了,Applet,的,图形上下文信息,,通过它向,Applet,中显示信息,该对象相当于,Applet,的画笔,public void,update(,Graphics,g),用于,更新图形,。首先清除背景,然后设置前景,再调用,paint(),方法完成组件的绘制。,public void repaint(),用于,重绘图形,。对轻量级组件,马上调用,paint( ),方法,;,否则马上调用,update( ),方法,在,Applet,中输出文字,文字输出,java.awt.Graphics,public void,drawBytes(byte,data,int,offset,int,length,int,x,int,y),使用此图形上下文的当前字体和颜色绘制由指定,byte,数组给定的文本。首字符的基线位于此图形上下文坐标系的,(x,y),位置处。,public void,drawChars(char,data,int,offset,int,length,int,x,int,y),public abstract void,drawString(,String,str,int,x,int,y),字体设置,java.awt.Font,public,Font(,String,name,int,style,int,size),name,字体名称 逻辑字体的系列名称有:,Dialog,、,DialogInput,、,Monospaced,、,Serif,、,Verdana,或,SansSerif,。若为,null,,则取,Default,styleFont,的样式常量。可以为,PLAIN,,或,BOLD,和,ITALIC,的按位或,size,Font,的磅值大小,public abstract void,setFont(,Font,font),java.awt.Graphics,public abstract void,setColor(,Color,c),java.awt.Graphics,字体大小设置,java.awt.,FontMetrics,public,FontMetrics,getFontMetrics,( ),java.awt.Graphics,获取当前字体的字体规格,public,int,getHeight,( ),获取此,Font,中文本行的标准,height,public,int,getAscent,( ),获取字体基线到大多数字母数字字符顶部的距离,public,int,getDescent,( ),获取字体基线到大多数字母数字字符底部的距离,public,int,getLeading,( ),获取,Font,的标准行间距,public,int,charWidth(char,ch,),返回指定字符的宽度,public,int,charsWidth(char,data,int,off,int,len,),返回字符数组的宽度,Applet,与外界的通信,Applet,与其他程序进行通信的方式,通过请求同一,Web,页上其他,Applet,中的公有方法实现与同一,Web,页上其他,Applet,的通信,通过使用定义在,java.Applet,包中的,API,,以受限方式与浏览器或,appletviewer,通信,通过使用,包中的,API,与提供该,Applet,的主机上的其他程序通信,同页面,Applet,间的通信,Java API,本身就有用来支持,applet,程序间协作的特性:,AppletContext,类的,getApplet,和,getApplets,方法使,applet,程序可以通过名称查找访问对方。,AppletContext,类的对象保存了当前,Applet,运行环境的信息,AppletContext,是一个接口,public,AppletContext,getAppletContext,( ),Applet,getApplet(,String,name),通过给定名称找到并返回此,applet,上下文表示的文档中的,applet,。名称可以在,HTML,标记中通过设置,name,属性,来设置。若该,applet,未找到或未加载则返回,null,Enumeration,getApplets,( ),找到此,applet,上下文表示的文档中的所有,applet,。,可通过以下方法获得同一个页面中的所有,Applet,对象,public,boolean,hasMoreElements,( ),public Object,nextElement,( ),public,AppletContext,getAppletContext,( ),java.applet.Applet,确定此,applet,的上下文,上下文允许,applet,查询和影响它所运行的环境。,Applet friend =,getAppletContext().getApplet(Friend,);,此通讯机制所存在的问题,首先,这种机制目前,并没有被具体化,,因此不同的应用程序对该机制有不同的实现。,例如,,getApplets,返回的是,可以访问的,applet,,但是什么是可以访问?没有明确的定义。你可能得到的是同一页面上的,applet,,从同一个站点加载的,applet,,或者是两者的交集,这些都取决于运行,applet,的浏览器。,getApplet,和,getApplets,不会让调用者得到一个,还没有完全加载并初始化,了的,applet,。,在,Applet,中使用图像,Image,类,public abstract,int,getWidth(,ImageObserver,observer),确定图像的宽度。如果宽度未知,则此方法返回,-1,,然后通知指定的,ImageObserver,对象。,public abstract,int,getHeight(,ImageObserver,observer),确定图像的高度。如果高度未知,则此方法返回,-1,,然后通知指定的,ImageObserver,对象。,java.lang.Object,java.awt.Image,public abstract,Object,getProperty(,String,name,ImageObserver,observer),通过名称获取此图像的属性。如果此图像的属性目前未知,则此方法返回,null,,然后通知,ImageObserver,对象。,public abstract void flush( ),刷新此,Image,对象正在使用的所有资源。这包括为呈现到屏幕而缓存的所有像素数据和用来存储图像数据或像素的所有系统资源。,目前,Java,支持的图像格式有,GIF,、,JPEG,和,PNG,三种,装载图像的方法,使用,Applet,类提供的,getImage,( ),public,Image,getImage(,URL,url,),参数是包含图像文件名的绝对,URL,public,Image,getImage(,URL,url,String,name),第一个参数是图像文件所在目录的,URL,,当,Applet,与图像文件在一个目录下时,可以使用,getCodeBase,( ),方法获取该,URL,;当图像文件与,Applet,嵌入的,HTML,文件在一个目录下时,可以使用,getDocumentBase,( ),方法获得该,URL,返回能被绘制到屏幕上的,Image,对象,不是等到图像完全加载完毕才返回,而是立即返回,不检测图像数据是否存在,由,Java,新生成一个线程在后台,异步地完成图像加载任务,。,为了节省时间和空间,只有当图像需要画到屏幕,上时,获取图像的行为才开始进行,追踪图像加载过程,使用,java.awt.MediaTracker,类,需要创建,MediaTracker,类的对象并指定要跟踪的一个或多个图像,可以在需要的时候从该对象获取这些图像的状态,实现,java.awt.image.ImageObserver,接口,需要实现,imageUpdate,( ),方法,imageUpdate,( ),方法能够反映,正在加载图像的状态,,如果加载还在进行,图像还在更新,则返回,true,,否则返回,false,要保证实现该接口的类的实例对象作为图像观察者注册,Image image1=,getImage,(,getCodeBase,( ), “imageFile1.gif”);,Image image2=,getImage,(,getDocumentBase,( ), “imageFile2.gif”);,Image image3=,getImage,(new,URL(“ ),方法,public abstract,Image,getImage(,String,filename),public abstract,Image,getImage(,URL,url,),Toolkit,toolkit,=,Toolkit.getDefaultToolkit,( );,Image image1=toolkit.getImage,(“imageFile1.gif”);,Image image2=,toolkit.getImage,(new,URL(“,/,Graphics/,people.gif,”);,显示图像的方法,java.awt.Graphics,public abstract,boolean,drawImage(,Image,img,int,x,int,y,ImageObserver,observer),public abstract,boolean,drawImage(,Image,img,int,x,int,y,int,width,int,height,ImageObserver,observer),observer,参数是一个,ImageObserver,接口,这是一个特殊的对象,用来跟踪图像文件装载是否已经完成,可以看作是加载图像时的,图像观察器,调用,drawImage,时,,专门创建一个线程,负责绘图工作,该线程与,Applet,的原有执行线程,并发执行,,它将不断调用,ImageObserver,接口中的,imageUpdate,方法,,,直到该方法返回,false,。,当采用,非缓冲方法,时,显示图像前并没有把图像完整地装入内存,,drawImage,方法,一边装入图像一边显示,,容易产生不连续现象,一般用,this,作为参数值。因为,Component,类实现了,ImageObserver,接口,它在,imageUpdate,( ),方法的实现中调用了,repaint( ),方法,使得图像能够,在图像加载的同时逐步刷新显示,。,ImageObserver,接口,boolean,imageUpdate(,Image,img,int,infoflags,int,x,int,y,int,width,int,height),当以前使用异步接口所请求的图像的信息变得可用时就调用此方法。异步接口是将,ImageObserver,对象作为参数的方法调用 。,Applet,可通过此方法测定一幅图像已经装了多少在内存中。,img,:,所跟踪的图像,infoflags,:,WIDTH, HEIGHT, PROPERTIES,SOMEBITS, FRAMEBITS,ALLBITS, ERROR, ABORT.,如果,infoflags,指示已完全加载了图像,则返回,false,;否则返回,true,在,Applet,上显示李嘉欣、金素妍、金喜善、宋慧乔、,蔡琳的画像。一次仅显示一幅,点击鼠标切换到下,一幅,动画的闪烁,Applet,显示动画时会有不同程度的闪烁,导致帧的绘制速度慢的原因是,Applet,在显示下一帧画面时,调用了,repaint(),方法,在,repaint( ),方法调用,update( ),时,要清除整个背景,然后调用,paint( ),显示画面,paint( ),方法可能要进行复杂的计算,图像中各像素的值不能同时得到,使得动画的生成频率低,解决办法,重写,update( ),方法,使之不进行背景的清除,采用,双缓冲技术,生成一幅后台图像,然后把后台图像一次性显示到屏幕,双缓冲图像,为了提高图像的显示效果应采用,双缓冲技术,。首先把图像装入内存,然后再显示在,Applet,窗口中,可使图像的显示一气呵成,public,Image,createImage(int,width,int,height),创建一幅用于双缓冲的、可在屏幕外绘制的图像。,java.awt.Component,public abstract,Graphics,getGraphics,(),创建一个供绘制闭屏图像使用的图形上下文,仅供,闭屏图像,调用,java.awt.Image,picture=,getImage(getCodeBase(),Image.gif,);,/,装载图像,Image,offScreenImage,=,createImage(getSize().width,getSize().height,);,/,生成大小适合的后台缓冲区,Graphics,offScreenGC,=,offScreenImage.getGraphics,();,/,获取,缓冲区作图环境(,Graphics,对象),offScreenGC.drawImage(picture,0,0,this);,/,显示非屏幕图像,,完成后台图象的绘制,g.drawImage(picture,0,0,200,200,null);,/,图像在前台的绘制一气呵成,采用双缓冲技术在,Applet,上绘制图像,在,Applet,中播放声音,目前,Java,支持,下列格式的声音文件:,AIFF,,,AU,,,WAV,,,MIDI,和,RMF,AIFF,是音频互换文件格式(,Audio Interchange File Format,)的缩写,是,Apple,公司开发的一种声音文件格式,被,Macintosh,平台及其应用程序所支持,Audio,文件是,Sun,微系统公司推出的一种经过压缩的数字声音格式,WAV,为,微软公司,(,Microsoft,),开发的一种声音文件格式,它符合,RIFF,(Resource,Interchange File Format),文件规范,用于保存,Windows,平台的音频信息资源,被,Windows,平台及其应用程序所广泛支持,乐器数字接口,(Musical Instrument Digital,Interface,MIDI,),是,20,世纪,80,年代初为解决电声乐器之间的通信问题而提出的。,MIDI,允许数字合成器与其他设备交换数据。主要用于控制诸如合成器和声卡之类的设备。,RMF,是,Rich Music Format,(,RMF,丰富音乐格式文件)的简写。混合音乐格式是由,Beatnik,设计出来的混合文件类型,通过交互式设定将,MIDI,和音频采样封装在一起。,RMF,好比是一个所有音乐相关文件的容器。,RMF,也包含对有关版权的详细文件说明的支持。,使用,Applet,播放声音时需首先定义,AudioClip,对象。,GetAudioClip,方法能把声音赋予,AudioClip,对象。,public,AudioClip,getAudioClip(,URL,url,String,name),返回由参数,URL,和,name,指定的,AudioClip,对象。,public,AudioClip,getAudioClip(,URL,url,),返回,URL,参数指定的,AudioClip,对象。,两种方法都返回一个实现了,AudioClip,接口类的对象,不管音频剪辑存在与否,这两种方法总是立即返回。当此,applet,试图播放音频剪辑时,数据将被加载。,多个,AudioClip,对象能够被同时播放, 产生一个声音合成的效果,如果仅想把声音播放一遍,应调用,AudioClip,接口的,play,方法。如果想循环播放声音剪辑,应选用,AudioClip,接口的,loop,方法。,void play(),开始播放此音频剪辑。每次调用此方法时,剪辑都从头开始重新播放。,void loop(),以循环方式开始播放此音频剪辑。,void stop(),停止播放此音频剪辑。,java.applet.Applet,类中提供播放声音文件最简单的方法,public void,play(,URL,url,),播放在指定的绝对,URL,处的音频剪辑。如果未找到音频剪辑,则不播放任何内容。,public void,play(,URL,url,String,name),播放给定,URL,和与其相关的说明符的音频剪辑。,public static,AudioClip,newAudioClip(URL,url,),在,Applet,中显示一幅图片,并播放声音,Applet,与动画,实现动画的基本原理:,即在屏幕上画出一系列的帧来造成运动的感觉,Java,动画的实现,首先用,drawImage,(),方法在屏幕上画出图像,然后通过定义一个线程,让该线程睡眠一段时间,然后再切换成另外一幅图像;如此循环,在屏幕上画出一系列的帧来造成运动的感觉,从而达到显示动画的目的。,变换的正弦曲线,通过一个线程每间隔一定时间绘制一个正弦曲线状图形,使用,repaint( ),刷新,repaint( ),方法对于重量级组件,立即调用,update,方法,在该方法中清除背景再调用,paint,方法;对于轻量级组件,立即调用,paint,方法,屏幕会出现闪烁,为什么?,闪烁原因,绘制每一帧花费的时间太长,(,因为重绘时要求的计算量大,),。,在每次调用,paint(),前整个背景被清除,当在进行下一帧的计算时,用户看到的是背景。清除背景和绘制图形间的短暂时间被用户看见,就是闪烁。,解决方法,方法一,:,使用轻量级组件以避免调用,update,进行背景的清除,在,paint,方法中边绘制图形边进行当前局部绘制区域原有背景的清除,而不是一次性清除,方法二:重载,update,方法,自定义清除背景的方式,方法三:使用双缓冲技术,在后台缓冲区进行清除背景和重绘图形的操作,然后将后台图像一次性绘制到前台,双缓冲可以使动画平滑,但有一个缺点,要分配一张后台图象,如果图象相当大,这将需要很大一块内存。,独立应用程序和,Applet,的转换,装载,java.applet,的类,将扩展,Frame,的类改为扩展,Applet,由于,init( ),方法是,Applet,的标准入口,因此要将构造方法更名为,public void init( ),,去掉原构造方法中对超类方法的调用,去掉标准的,main( ),方法,去掉所有对,System.exit,方法的调用,因为,Applet,不允许调用这个方法,如有必要,覆盖,public void start( ),方法和,public void stop( ),方法,保证,Applet,在不可见时不占用系统资源,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


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

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


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