小应用程序Applet设计_第1页
小应用程序Applet设计_第2页
小应用程序Applet设计_第3页
小应用程序Applet设计_第4页
小应用程序Applet设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、实 验 报 告(2014/2015学年 第二学期)课程名称JAVA程序设计实验名称小应用程序Applet设计实验时间2015年6月16日指导单位计算机学院实验教学中心指导教师邓玉龙学生姓名班级学号学院(系)专 业实 验 报 告实验名称 小应用程序Applet设计指导教师邓玉龙实验类型上机实验学时2实验时间2015-6-16一、 实验目的和任务 要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVA Applet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。 二、 实验环境(实验设备)PC微型计算机系

2、统,Microsoft Windows操作系统,SUN Java Development Kit开发工具包,NetBeans开发工具。三、实验原理及内容(包括操作过程、结果分析等)实验内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。/Applet小程序鼠标放大选择块import java.awt.*;import java.applet.*;import java.awt.event.*;public class Mouse extends Applet implements MouseListener

3、, MouseMotionListenerprivate static final long serialVersionUID = 1L;private final int MAX = 256;private final double SX = -1.0; / 实部的最小值private final double SY = -1.5; / 虚部的最小值private final double EX = 2.0; / 实部的最大值private final double EY = 1.5; / 虚部的最大值private static int picX, picY, xs, ys, xe, ye

4、;private static double x1, y1, x2, y2, p, q,xb,yb;private static boolean action, rechteck, fertig, stopit;private static float xy;private Image bild;private Graphics g1;private Cursor c1, c2;public void init() / 初始化所有实例p = -0.46;q = 0.57;fertig = false;addMouseListener(this);addMouseMotionListener(t

5、his);c1 = new Cursor(Cursor.WAIT_CURSOR);c2 = new Cursor(Cursor.CROSSHAIR_CURSOR);picX = getSize().width;picY = getSize().height;xy = (float)picX / (float)picY;bild = createImage(picX, picY);g1 = bild.getGraphics();fertig = true;public void destroy() / 删除所有实例if (fertig)removeMouseListener(this);remo

6、veMouseMotionListener(this);bild = null;g1 = null;c1 = null;c2 = null;System.gc();public void start()action = false;rechteck = false;stopit = false;startwerte();xb = (x2 - x1) / (double)picX;yb = (y2 - y1) / (double)picY;julia();public void stop()public void paint(Graphics g)update(g);public void up

7、date(Graphics g)g.drawImage(bild, 0, 0, this);if (rechteck)g.setColor(Color.white);if (xs xe)if (ys ye) g.drawRect(xs, ys, (xe - xs), (ye - ys);else g.drawRect(xs, ye, (xe - xs), (ys - ye);elseif (ys ye) g.drawRect(xe, ys, (xs - xe), (ye - ys);else g.drawRect(xe, ye, (xs - xe), (ys - ye);private voi

8、d julia() / 计算所有的点int x, y;float h, b, alt = 0.0f;action = false;setCursor(c1);showStatus(正在计算julia集,请等待.);p = -0.46;q = 0.57;for (x = 0; x picX; x+=2) for (y = 0; y picY; y+)h = punktfarbe(x1 + xb * (double)x, y1 + yb * (double)y,p,q); / 颜色值if (h != alt)b = 1.0f - h * h;g1.setColor(Color.getHSBColo

9、r( 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);stopit = false; else showStatus(julia集已准备好,请用鼠标选择放大区域.);setCursor(c2);action = true;/ 由迭代产生的0.0到1.0的颜色值private float punktfarbe(double x0, double y0,double p,double q)d

10、ouble r = 0.0, xk = 0, yk = 0;int j = 0;while (j MAX) & (r xe)z = xs;xs = xe;xe = z;if (ys ye)z = ys;ys = ye;ye = z;w = (xe - xs);z = (ye - ys);if (w 2) & (z (float)z * xy) ye = (int)(float)ys + (float)w / xy);else xe = (int)(float)xs + (float)z * xy);x2 = x1 + xb* (double)xe;y2 = y1 + yb * (double)

11、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;public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseClicked(MouseEvent e)public void mouseDragged(MouseEvent e)e.consume();if (action)xe = e.getX();ye = e.getY();rechteck = true;repaint();public void

温馨提示

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

评论

0/150

提交评论