




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA课程设计报告设计题目:绘制散点图小组成员:1. 程序功能:功能一:打开一个文本文件,读取其中的坐标数值并绘制出散点图,并同时在控制台中输出读取的坐标功能二:根据用户输入的点数,随机绘制散点图2. 设计思路和框图:首先创建一个框架窗口,在其上添加菜单栏,在菜单项上增加打开文件和随机生成散点图。在具体程序中,创建窗口的类为Diagram,在类中写入paintComponent函数,直接在容器上绘图,获取参数时用getGraphics()。画坐标线是用drawLine(),画坐标点用drawString()。因为小程序有两个功能,所以paintComponent()中有两个方法,一个用来绘制
2、读取的文件中得坐标,另一个绘制Math.random()函数产生的随机数坐标,坐标数由输入对话框获得。因为要设置一个参数来判断调用哪一个方法。对于菜单项“打开”和“随机生成散点图”分别添加事件监听器,用JFileChooser类来实现文件的打开功能,用文件输入流FileReader和缓冲字符输入流BufferedReader来读取文件中得内容,当点击“随机生成散点图”菜单项时用showInputDialog()函数创建输入对话框,对话框中的文本框输入用户要生成的散点数。3. 程序实现的关键点:在程序执行过程中repaint()函数的调用;调用paintComponents()函数时用getGr
3、aphics()获得参数;因为坐标线绘制时不是以容器中的零点开始,所以读取文件中的坐标值和随机生成坐标值时数值要做相应的调整以适应容器。4. 程序代码及执行结果:package scatter.update;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;import javax.swing.*;public class ScatterUpdate public static int a;/* * param args */publ
4、ic static void main(String args) / TODO Auto-generated method stubDiagram dia=new Diagram();class Diagram extends JFrame implements ActionListenerJMenuBar menu=new JMenuBar();JMenu file=new JMenu(文件);JMenuItem open=new JMenuItem(打开);JMenuItem rand=new JMenuItem(随机生成散点图);Container con=getContentPane(
5、);int a,c=1;String num;JFileChooser chooser=new JFileChooser();Diagram()super(散点图绘制小程序V1.1);this.setBounds(500,200,400,400);setJMenuBar(menu);menu.add(file);file.add(open);file.add(rand);rand.addActionListener(this);open.addActionListener(this);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVi
6、sible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.getSource()=rand)con.repaint();String s=JOptionPane.showInputDialog(null, 输入点数, 随机生成散点图, JOptionPane.QUESTION_MESSAGE);a=Integer.parseInt(s);c=1;paintComponents(getGraphics();else if(e.getSource()=op
7、en)con.repaint();choice();c=0;paintComponents(getGraphics();public void paintComponents(Graphics g)/super.paintComponents(g);if(c=1)g.setColor(Color.DARK_GRAY);g.drawLine(30, 70, 30, 370);g.drawLine(30, 370, 330, 370);g.drawString(0, 15, 380);g.drawString(300, 325, 385);g.drawString(300, 8, 65);/Gra
8、phics g2=(Graphics)g;int x,y,b=0;while(ba)x=(int)(Math.random()*301)+30;y=(int)(Math.random()*301)+70;g.setColor(Color.MAGENTA);g.drawString(*, x, y);b+;else if(c=0)/Graphics2D g2= (Graphics2D)g;g.setColor(Color.RED);g.drawLine(30, 70, 30, 370);g.drawLine(30, 370, 330, 370);g.drawString(0, 15, 380);
9、g.drawString(300, 325, 385);g.drawString(300, 8, 65);int x,y,i=0;while(inum.length)x=Integer.parseInt(numi);y=Integer.parseInt(numi+1);i=i+2;g.setColor(Color.BLUE);g.drawString(*, x+30, 400-y);void choice()int i=0;if(chooser.showOpenDialog(this)=JFileChooser.APPROVE_OPTION)File file=chooser.getSelec
10、tedFile();try FileReader fread = new FileReader(file);BufferedReader bread=new BufferedReader(fread);String line=bread.readLine();num=line.split(,);/line=bread.readLine();while(inum.length)System.out.println(+numi+,+numi+1+);i=i+2; catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();5. 本次课程设计的收获: 锻炼了独自分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园周围施工安全教育
- 公路路基压实度检测与优化方案
- 城乡供水设施设备更新换代方案
- 郑州木长廊施工方案
- 新旧桥拼接施工方案
- 热力管网压力调节与平衡方案
- 燃气锅炉高效燃烧技术方案
- 政法业务考试题目及答案
- 证券投资图考试题及答案
- 离婚协议简化版起草与共同债务处理合同
- 辽宁省沈阳市2025-2026学年七年级上学期第一次月考数学试卷(含答案)
- 小学生日常行为规范知识竞赛试题(附答案)
- 2025年食品安全员考试题库及答案
- 民宿入住免责协议书范本
- 岭南版小学美术四年级上学期教学进度计划
- 管廊运维招聘题库及答案
- 江西省2025年高考物理真题及答案解析
- 2025年广东卷物理高考试卷(原卷+答案)
- 污水处理站运行记录台账范本
- 天坛建筑结构讲解
- 兼顾电网脆弱性与经济性的PMU配置策略深度剖析
评论
0/150
提交评论