您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 小应用程序Applet设计
实验报告(2014/2015学年第二学期)课程名称JAVA程序设计实验名称小应用程序Applet设计实验时间2015年6月16日指导单位计算机学院实验教学中心指导教师邓玉龙学生姓名班级学号学院(系)专业1实验报告实验名称小应用程序Applet设计指导教师邓玉龙实验类型上机实验学时2实验时间2015-6-16一、实验目的和任务要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVAApplet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。二、实验环境(实验设备)PC微型计算机系统,MicrosoftWindows操作系统,SUNJavaDevelopmentKit开发工具包,NetBeans开发工具。2三、实验原理及内容(包括操作过程、结果分析等)实验内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。//Applet小程序鼠标放大选择块importjava.awt.*;importjava.applet.*;importjava.awt.event.*;publicclassMouseextendsAppletimplementsMouseListener,MouseMotionListener{privatestaticfinallongserialVersionUID=1L;privatefinalintMAX=256;privatefinaldoubleSX=-1.0;//实部的最小值privatefinaldoubleSY=-1.5;//虚部的最小值privatefinaldoubleEX=2.0;//实部的最大值privatefinaldoubleEY=1.5;//虚部的最大值privatestaticintpicX,picY,xs,ys,xe,ye;privatestaticdoublex1,y1,x2,y2,p,q,xb,yb;privatestaticbooleanaction,rechteck,fertig,stopit;privatestaticfloatxy;privateImagebild;privateGraphicsg1;privateCursorc1,c2;publicvoidinit()//初始化所有实例{p=-0.46;q=0.57;fertig=false;addMouseListener(this);addMouseMotionListener(this);c1=newCursor(Cursor.WAIT_CURSOR);c2=newCursor(Cursor.CROSSHAIR_CURSOR);picX=getSize().width;picY=getSize().height;xy=(float)picX/(float)picY;bild=createImage(picX,picY);g1=bild.getGraphics();fertig=true;}publicvoiddestroy()//删除所有实例{if(fertig){removeMouseListener(this);removeMouseMotionListener(this);bild=null;g1=null;3c1=null;c2=null;System.gc();}}publicvoidstart(){action=false;rechteck=false;stopit=false;startwerte();xb=(x2-x1)/(double)picX;yb=(y2-y1)/(double)picY;julia();}publicvoidstop(){}publicvoidpaint(Graphicsg){update(g);}publicvoidupdate(Graphicsg){g.drawImage(bild,0,0,this);if(rechteck){g.setColor(Color.white);if(xsxe){if(ysye)g.drawRect(xs,ys,(xe-xs),(ye-ys));elseg.drawRect(xs,ye,(xe-xs),(ys-ye));}else{if(ysye)g.drawRect(xe,ys,(xs-xe),(ye-ys));elseg.drawRect(xe,ye,(xs-xe),(ys-ye));}}}privatevoidjulia()//计算所有的点{intx,y;floath,b,alt=0.0f;action=false;setCursor(c1);showStatus(正在计算julia集,请等待...);p=-0.46;q=0.57;for(x=0;xpicX;x+=2){for(y=0;ypicY;y++){h=punktfarbe(x1+xb*(double)x,y1+yb*(double)y,p,q);//颜色值if(h!=alt){b=1.0f-h*h;g1.setColor(Color.getHSBColor(h,1,b));alt=h;}g1.drawLine(x,y,x+1,y);}showStatus(At+x+of+picX);if(stopit)x=picX;}if(stopit){showStatus(Aborted);4stopit=false;}else{showStatus(julia集已准备好,请用鼠标选择放大区域.);}setCursor(c2);action=true;}//由迭代产生的0.0到1.0的颜色值privatefloatpunktfarbe(doublex0,doubley0,doublep,doubleq){doubler=0.0,xk=0,yk=0;intj=0;while((jMAX)&&(r4.0)){xk=x0*x0-y0*y0+p;yk=2.0*x0*y0+q;j++;r=yk*yk+xk*xk;x0=xk;y0=yk;}return(float)j/(float)MAX;}privatevoidstartwerte()//重新开始值{x1=SX;y1=SY;x2=EX;y2=EY;if((float)((x2-x1)/(y2-y1))!=xy)x1=x2-(y2-y1)*(double)xy;}publicvoidmousePressed(MouseEvente){e.consume();if(action){xs=e.getX();ys=e.getY();}}publicvoidmouseReleased(MouseEvente){intz,w;e.consume();if(action){xe=e.getX();ye=e.getY();if(xsxe){z=xs;xs=xe;xe=z;}if(ysye){z=ys;ys=ye;ye=z;}w=(xe-xs);z=(ye-ys);5if((w2)&&(z2))startwerte();else{if(((float)w(float)z*xy))ye=(int)((float)ys+(float)w/xy);elsexe=(int)((float)xs+(float)z*xy);x2=x1+xb*(double)xe;y2=y1+yb*(double)ye;x1+=xb*(double)xs;y1+=yb*(double)ys;}xb=(x2-x1)/(double)picX;yb=(y2-y1)/(double)picY;julia();rechteck=false;repaint();}else{stopit=true;}}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){}publicvoidmouseDragged(MouseEvente){e.consume();if(action){xe=e.getX();ye=e.getY();rechteck=true;repaint();}}publicvoidmouseMoved(MouseEvente){}}//Applet小程序鼠标放大选择块Html页面htmlappletcode=Mouse.classwidth=200height=100/applet/html6四、实验小结(包括问题和解决方法、心得体会等)通过本次试验,我了解了Applet类及其中的方法;掌握了Applet中添加AWT组件的方法;掌握了Applet中传递参数的方法;掌握了Applet运行的方法。五、指导教师评语成绩批阅人日期
本文标题:小应用程序Applet设计
链接地址:https://www.777doc.com/doc-2473798 .html