阿基米德螺线图形设计_java基础实验报告.doc

南京工程学院实验报告课程名称JAVA基础实验项目名称图形用户界面设计实验题目阿基米德螺线图形设计实验学生班级网络132实验学生姓名薛康威学号202130834实验时间2015525实验地点信息楼实验成绩评定指导教师签字年月日一、实验目的和要求掌握JAVASWING组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法,设计出具有图形用户界面的、能够响应用户界面的、能够响应事件并处理异常的JAVA应用程序。要求如下(1)采用SWING组件设计图形用户界面,使用3个以上相同组件要声明组件数组。(2)响应事件。(3)异常处理,当输入数据错误时,弹出对话框,提示重新输入信息。二、实验题目阿基米德螺线图形设计,指定图形大小、位置和颜色。三、实验方法与步骤(需求分析、算法设计思路、流程图等)(1)需求分析这个程序主要由两大块组成,自定义图形用户界面和阿基米德螺线图形算法。(2)算法设计思路首先是界面设计。内容窗格采用边布局,NORTH处添加设置面板,CENTER处添加画布。其中设置面板采用流布局,添加设置圈数的文本框、选择颜色的单选按钮和最终“确定”的按钮。其次是阿基米德螺线图形算法。根据数学公式RAΘ,转换成直角坐标方程组后,在图形类GRAPHICS中标点填充即可。最后便是事件处理。在按钮“确定”上注册事件监听,在响应方法里获得圈数(需要做异常处理)、颜色的参数,并调用画布类,将阿基米德螺线画出。四、实验原始纪录(源程序、数据结构等)IMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGPUBLICCLASSARCHIMEDESJFRAMEEXTENDSJFRAMEIMPLEMENTSACTIONLISTENER{PRIVATEARCHIMEDESCANVASARCHIMEDES//画布类声明PRIVATEJBUTTONJB3PRIVATEJPANELJP1PRIVATEJTEXTFIELDTEXT_QPRIVATEJRADIOBUTTONBCOLORPRIVATEDOUBLENPUBLICARCHIMEDESJFRAME{SUPER“阿基米德螺线“DIMENSIONDIMGETTOOLKITGETSCREENSIZETHISSETBOUNDSDIMWIDTH/4,DIMHEIGHT/4,DIMWIDTH/2,DIMHEIGHT/2THISSETDEFAULTCLOSEOPERATIONEXIT_ON_CLOSETEXT_QNEWJTEXTFIELD10JP1NEWJPANELJP1ADDNEWJLABEL“圈数“JP1ADDTEXT_QJB3NEWJBUTTON“确定“JP1ADDJB3JB3ADDACTIONLISTENERTHISSTRINGLK{““,““}FORINTI0I20THROWNEWEXCEPTION““ARCHIMEDESSETNN//设置所画圈数ARCHIMEDESSETCOLORC//设置所画颜色ARCHIMEDESREPAINT}CATCHEXCEPTIONQWE{JOPTIONPANESHOWMESSAGEDIALOGTHIS,“圈数必须在020之间“,“提醒“,JOPTIONPANEWARNING_MESSAGE//异常处理}}PUBLICSTATICVOIDMAINSTRINGARGS{NEWARCHIMEDESJFRAME}}//画布类方法实现CLASSARCHIMEDESCANVASEXTENDSCANVAS{PRIVATECOLORCOLORPRIVATEDOUBLEXPUBLICARCHIMEDESCANVASCOLORCOLOR,DOUBLEN{THISSETBACKGROUNDCOLORWHITETHISSETCOLORCOLORTHISSETNN}PUBLICVOIDSETCOLORCOLORCOLOR{THISCOLORCOLOR}PUBLICVOIDSETNDOUBLEN{THISXN}PUBLICVOIDPAINTGRAPHICSG{INTX0THISGETWIDTH/2INTY0THISGETHEIGHT/2GSETCOLORCOLORGDRAWLINEX0,0,X0,Y02//Y轴GDRAWLINE0,Y0,X02,Y0//X轴FORINTI0I2048THISXI{//N圈DOUBLEANGLEIMATHPI/1024//角度,分成21024点DOUBLERADIUS005ANGLEINTXINTMATHROUNDRADIUSANGLEMATHCOSANGLEINTYINTMATHROUNDRADIUSANGLEMATHSINANGLEGDRAWOVALX0X,Y0Y,1,1//画点}}}五、实验结果及分析(计算过程与结果、数据曲线、图表等)实验结果分析说明阿基米德螺线的圈数设为双精度浮点型,即含半圈、1/4圈等。由于文本框为输入值,圈数的定义无法是负数或者非数字类字符,所以需要在这里添加两个异常处理,数值格式转换异常和超出规定范围异常,如上图所示。六、实验改进与思考改进本实验是绘制阿基米德螺线,但由于计算机CPU处理速度太快,无法还原详细的绘制过程。所以根据所学知识,还可以添加线程,在画点与点之间添加睡眠时间,延缓画图过程。思考依此模板,其实什么样的图形都可以绘制出来,只需要改动画布类的算法就可以了。

java阿基米德螺线_阿基米德螺线图形设计_java基础实验报告.doc相关推荐

  1. java程序设计实验报告_JavA程序设计实验报告.doc

    Java程序设计实验报告 学号: 姓名: 座位号: 实验日期: [实验名称]: JDK配置与开发工具的使用 [实验目的]: 熟悉JDK开发环境. 熟悉EditPlus编辑器或Eclipse等开发环境的 ...

  2. java继承机制实验报告_JAVA继承实验报告.doc

    JAVA继承实验报告 JAVA语言程序设计 实验报告 实验一 实验题目: 面 向 对 象 编 程 指导老师: 卢照 专业班级:计算机科学与技术系1106班 姓 名:*****) 2014年3月20日 ...

  3. Java实验报告多线程_java多线程实验报告.doc

    精品文档 Java实验程序设计实验报告 实验名称:多线程 一:实验目的 1.掌握线程和多线程的概念. 2.掌握创建线程的两种方法及其区别. 3.了解线程的启动.终止.同步.互斥和优先级等概念. 二:实 ...

  4. java动态分区分配算法,操作系统_动态分区分配算法课程设计_java版

    <操作系统_动态分区分配算法课程设计_java版>由会员分享,可在线阅读,更多相关<操作系统_动态分区分配算法课程设计_java版(13页珍藏版)>请在人人文库网上搜索. 1. ...

  5. java象棋实验报告_中国象棋java程序设计实验报告.doc

    中国象棋java程序设计实验报告.doc 东北大学秦皇岛分校 信息与计算科学系 Java 程序设计实验报告 专业名称 信息与计算科学 班级学号 7080206 学生姓名 彭 军 指导教师 王薇 完成时 ...

  6. 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc

    java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...

  7. java实验报告可下载_JAVA实验报告.doc

    JAVA实验报告.doc 学 生 实 验 报 告 册(理工类)课程名称面向对象程序设计 专业班级16计算机科学与技术(专转本) 学生学号 1613203022 学生姓名 张义丹 所属院部 计算机工程 ...

  8. 大学计算机应用实验项目综合报告书,大学计算机应用基础实验报告册_2010版_.doc...

    大学计算机应用基础实验报告册_2010版_ 20 09 -20 10 学年第 一 学期 实 验 报 告 实验课程名称 大学计算机应用基础 专 业 班 级 学 生 姓 号 学生 姓 名 实验指导老师 实 ...

  9. java上课签到系统开题报告_学生考勤系统的设计与实现开题报告.doc

    学生考勤系统的设计与实现开题报告 江 苏 大 学 京 江 学 院 学生毕业设计(论文)开题报告 一.基本情况 课题 情况课题名称学生考勤系统的设计与实现课题来源开题时间计划完成时间课题承担人(学生)情 ...

最新文章

  1. C++用substr()函数消除前后空格
  2. 蓝色起源送90岁《星际迷航》舰长扮演者上太空,刷新太空旅客最高年龄纪录...
  3. MATLAB中处理边界的函数
  4. win10 VS2010 VS studio 生成程序默认管理员运行 此任务要求应用程序具有提升的权限
  5. 倒排索引原理_搜索引擎都在用的倒排索引——原理与实现
  6. 浅谈Vue内置component组件的应用场景
  7. [css] 你最希望css拥有什么样的特性?(目前没有的)
  8. plupload怎么设置属性_店铺收银系统怎么用?好收银系统能提升店铺效率
  9. 苹果小圆点怎么弄出来_原来苹果手机轻点2下屏幕就能截图,以前还不知道,太方便了...
  10. kindeditor在Firefoxt 和 Chrome 下不能取到值的解决方法
  11. mysql定时导出数据_mysql定时备份数据
  12. 资讯--2019年4月
  13. 数据中台与业务中台是什么关系?_光点科技
  14. Android G711编解码
  15. 电商网络推广是干什么,电商网络营销做什么
  16. Floating-Point overflow and underflow
  17. 高德地图不显示定位点
  18. 计算机科学概论读后感
  19. 微积分在金融投资的应用
  20. 借助花生壳使用公网远程连接Jetson nano

热门文章

  1. 教你去掉QQmusic的广告
  2. 2023年做什么行业赚钱容易有前景
  3. 单条视频播放近4000w,如何利用“跟风效应”实现流量暴增?
  4. centos中的mysql安装配置_CentOs中mysql的安装与配置
  5. accesstoken、refreshtoken
  6. 防火墙原理讲解——练习实验
  7. 毛哥的快乐生活(25) Servlet版新闻网站之需求分析
  8. 工厂方法模式VS简单工厂模式
  9. 虹科工业树莓派的应用:在节能建筑中的应用
  10. js利用indexof方法实现数组去重