




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南京工程学院实 验 报 告课程名称 JAVA基础 实验项目名称 图形用户界面设计 实验题目 阿基米德螺线图形设计 实验学生班级 网络132 实验学生姓名 薛康威 学号 202130834 实验时间 2015.5.25 实验地点 信息楼 实验成绩评定 指导教师签字 年 月 日一、实验目的和要求掌握Java Swing组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,熟悉在组件上绘图的方法,设计出具有图形用户界面的、能够响应用户界面的、能够响应事件并处理异常的Java应用程序。要求如下:(1) 采用Swing组件设计图形用户界面,使用3个以上相同组件要声明组件
2、数组。(2) 响应事件。(3) 异常处理,当输入数据错误时,弹出对话框,提示重新输入信息。二、实验题目阿基米德螺线图形设计,指定图形大小、位置和颜色。三、实验方法与步骤(需求分析、算法设计思路、流程图等)(1)需求分析这个程序主要由两大块组成,自定义图形用户界面和阿基米德螺线图形算法。(2)算法设计思路首先是界面设计。内容窗格采用边布局,North处添加设置面板,Center处添加画布。其中设置面板采用流布局,添加设置圈数的文本框、选择颜色的单选按钮和最终“确定”的按钮。其次是阿基米德螺线图形算法。根据数学公式r = a,转换成直角坐标方程组后,在图形类Graphics中标点填充即可。最后便是
3、事件处理。在按钮“确定”上注册事件监听,在响应方法里获得圈数(需要做异常处理)、颜色的参数,并调用画布类,将阿基米德螺线画出。四、实验原始纪录(源程序、数据结构等)import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ArchimedesJFrame extends JFrame implements ActionListener private ArchimedesCanvas archimedes; /画布类声明private JButton jb3;private JPanel jp1
4、;private JTextField text_q;private JRadioButton bcolor;private double n; public ArchimedesJFrame() super(阿基米德螺线); Dimension dim=getToolkit().getScreenSize(); this.setBounds(dim.width/4,dim.height/4,dim.width/2,dim.height/2); this.setDefaultCloseOperation(EXIT_ON_CLOSE); text_q=new JTextField(10); jp
5、1=new JPanel(); jp1.add(new JLabel(圈数:); jp1.add(text_q); jb3=new JButton(确定); jp1.add(jb3); jb3.addActionListener(this); String lk= , ; for(int i=0;ilk.length;i+) jp1.add(new JLabel(lki); jp1.add(new JLabel(颜色:); String colorstr=红,绿,蓝; ButtonGroup colorgroup=new ButtonGroup(); bcolor=new JRadioButt
6、oncolorstr.length; for(int i=0;ibcolor.length;i+) bcolori=new JRadioButton(colorstri); colorgroup.add(bcolori); jp1.add(bcolori); bcolori.addActionListener(this); this.getContentPane().add(jp1,North); archimedes=new ArchimedesCanvas(Color.black,this.n); this.getContentPane().add(new JScrollPane(arch
7、imedes),Center); this.setVisible(true); /响应方法 public void actionPerformed(ActionEvent e) Color c=null; if(e.getSource()=bcolor0) /获得颜色 c=new Color(255,0,0); if(e.getSource()=bcolor1) /获得颜色 c=new Color(0,255,0); if(e.getSource()=bcolor2) /获得颜色 c=new Color(0,0,255); if(e.getSource()=jb3) try this.n=Do
8、uble.parseDouble(text_q.getText();/获得圈数 catch(NumberFormatException nfex) JOptionPane.showMessageDialog(this, 无法转换成浮点数, 提醒, JOptionPane.WARNING_MESSAGE); /异常处理 try if(n20) throw new Exception( ); archimedes.setn(n); /设置所画圈数 archimedes.setColor(c); /设置所画颜色 archimedes.repaint(); catch(Exception qwe) J
9、OptionPane.showMessageDialog(this, 圈数必须在020之间, 提醒, JOptionPane.WARNING_MESSAGE); /异常处理 public static void main(String args) new ArchimedesJFrame(); /画布类方法实现class ArchimedesCanvas extends Canvas private Color color;private double x; public ArchimedesCanvas(Color color,double n) this.setBackground(Col
10、or.WHITE); this.setColor(color); this.setn(n); public void setColor(Color color) this.color = color; public void setn(double n) this.x = n; public void paint(Graphics g) int x0 = this.getWidth()/2; int y0 = this.getHeight()/2; g.setColor(color); g.drawLine(x0,0,x0,y0*2); /y轴 g.drawLine(0,y0,x0*2,y0)
11、; /x轴for (int i=0; i2048*this.x; i+) /n圈 double angle = i*Math.PI/1024; /角度,分成2*1024点 double radius = 0.05*angle; int x=(int)Math.round(radius*angle*Math.cos(angle); int y=(int)Math.round(radius*angle*Math.sin(angle); g.drawOval(x0+x,y0+y,1,1); /画点 五、实验结果及分析(计算过程与结果、数据曲线、图表等)实验结果:分析说明:阿基米德螺线的圈数设为双精度浮点型,即含半圈、1/4圈等。由于文本框为输入值,圈数的定义无法是负数或者非数字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全生产法律法规测试题解
- 2025年安全员A类考试题库及答案解析
- 2025年国开行笔试模拟题及答案
- 2025年人力资源管理师初级面试要点与预测题详解
- 2025年年度安全培训测试题含答案
- 文化遗产数字化保护与文化遗产数字化保护的数字资产管理报告
- 2025年对外友协会计准则考试模拟题及答案
- 水库防汛考试题库及答案
- 互联网+食品行业:2025年食品安全追溯体系创新模式与应用报告
- 农产品质量安全追溯体系2025年农产品质量安全信用体系建设研究
- 摄像机原理与使用教程
- 饮料风味设计与感官评价研究
- 初中语文现代文阅读理解(含参考答案)
- 人教版四年级上册音乐全册教案
- 核电站的事故应急预案演练
- 中科院2022年物理化学(甲)考研真题(含答案)
- 导游如何提高自身的解说与讲解技能
- 《光的相干性》课件
- 2024年河北电工理论考试试题电工技师考试内容(全国通用)
- 铁路信号工(普速车站与区间信号设备维修)
- 一只窝囊的大老虎第二课时
评论
0/150
提交评论