




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java实验报告图形用户界面Swing组件及事件1、 实验目的:1 掌握Java swing组件的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等,掌握多种布局方式2 理解委托时间处理模型,掌握不同组件,不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面3 掌握文件字符流的使用方法2、 实验名称:模拟裁判评分3、 实验要求:求若干整数的最大值、最小值和平均数。输入若干整数和浮点数,求出最大值和最小值并显示。并能用FileReader和FileWrite进行文本文件的输入输出处理,在面板上有保存进行处理。程序运行界面如下图所示:要求:使用JTextFiled数组,数值个数可变;响应事件,计算最大值、最小值和平均分忽略空值和空串;按实际元素个数求值;解决除数为零的问题;能用FileReader和FileWrite进行文本文件的输入输出处理。四、实验内容package 模拟裁判评分;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;public class Source extends JFrame implements ActionListener private JTextField texts,text_source;private JButton button;private JButton b1,b2,b3;private JTextField t1,t2;/TextFile afile=new TextFile();private int rows,columns;public Source(int rows,int columns ) throws IOExceptionsuper(模拟裁判评分);this.setBounds(300, 240, 650, 200);this.rows=rows;this.columns=columns;this.setBackground(java.awt.Color.lightGray);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.getContentPane().setEnabled(false);JPanel p1=new JPanel(new GridLayout(rows,columns);this.getContentPane().add(p1);texts=new JTextFieldrows*columns;for(int i=0;itexts.length;i+)textsi=new JTextField(i+2+.0,6);textsi.setHorizontalAlignment(JTextField.CENTER);p1.add(textsi);JPanel p2=new JPanel(new FlowLayout(FlowLayout.CENTER);this.getContentPane().add(p2,South);button=new JButton(平均分);p2.add(button);button.addActionListener(this);text_source=new JTextField(,6);text_source.setEditable(false);text_source.setHorizontalAlignment(JTextField.CENTER);p2.add(text_source);b1=new JButton(去掉最高分);b2=new JButton(去掉最低分);b3=new JButton(保存);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);t1=new JTextField(,6);t2=new JTextField(,6);t1.setEditable(false);t2.setEditable(false);t1.setHorizontalAlignment(JTextField.CENTER);t2.setHorizontalAlignment(JTextField.CENTER);p2.add(b1);p2.add(t1);p2.add(b2);p2.add(t2);p2.add(b3);this.setVisible(true);public void actionPerformed(ActionEvent e) String pingjunfen,max,min;double table=new doubletexts.length;for(int i=0;itexts.length;i+)tryif(textsi.getText().equals()remove(textsi);else tablei=Double.parseDouble(textsi.getText();catch(NumberFormatException nfe)JOptionPane.showMessageDialog(this, textsi.getText()+字符串不能转换为浮点数请重新输入。); if(e.getSource()=button) /平均分pingjunfen=String.valueOf( Average(table);pingjunfen=pingjunfen.substring(0,5);text_source.setText(pingjunfen);if(e.getSource()=b1) /去掉最高分 max=String.valueOf( Max(table);t1.setText(max);if(e.getSource()=b2) /去掉最低分min=String.valueOf( Min(table);t2.setText(min);if(e.getSource()=b3) /读写文件try this.writeToText(); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();try this.readFromText(); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();public static void main(String args) throws IOExceptionnew Source(6,10);public double Average(double a) /平均分double sum=0.0;double pingjunshu=0.0;for(int i=0;itexts.length;i+)sum+=ai;if(ai0)JOptionPane.showMessageDialog(this,有负数);sum-=(Max(a)+Min(a);return sum/texts.length;public double Max(double a) /最高分double t=0.0;for(int i=0;itexts.length;i+)if(ai0)JOptionPane.showMessageDialog(this,有负数);if(tai)t=ai;return t;public double Min(double a) /最低分double t=a2;for(int i=0;itexts.length;i+)if(aiai)t=ai;return t;public void writeToText() throws IOException /写方法FileWriter fout=new FileWriter(fibfile.txt);for(int i=0;irows*columns;i+)fout.write(textsi.getText()+ );if(i+1)%columns=0)fout.write(rn);fout.write(rn);fout.write(平均分:+text_source.getText()+ +最高分:+t1.getText()+ +最低分:+t2.getText();fout.close();public void readFromText()throws IOException /读方法FileReader fin=new FileReader(fibfile.txt);BufferedReader bin=new BufferedReader(fin);System.out.println(fibfile.txt+:);String aline=;doaline=bin.readLine();if(aline!=null)System.out.println(aline);while(aline!=null);bin.close();fin.close();六、运行结果:点击四个按钮后的结果:七、实验说明1 Source(int rows,int columns )构造方法中带有参数,实现数组可变,并用texts文本数组。2 实验中运用单击响应事件,监听button(平均分)、b1(最大值)、b2(最小值)、b3(保存),actionPerformed(ActionEvent e)实现方法中运用的remove实现忽略空值或空串。writeToText()、readFromText()实现文件字符流的处理。3 运用了trycatch()实现浮点数转换的异常处理4 JOptionPane.showMessageDialog(this, textsi.getText()+字符串不能转换为浮点数请重新输入。); 当有异常时弹出对话框。8、 实验体会通过这次Java实验,我终于领略到了Java的功能之强大,它提供了很多Java包和方法,任程序员随意调用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生礼让课件
- 2025年苏州市初中地理中考地理及答案
- 室颤教学查房课件
- 场地使用权与客户满意认证合同
- 车间承包与环保设施建设协议
- 施工现场安全责任连带保证合同
- 电子产品典当销售合同
- 车辆借用保险责任免除与损害赔偿合同
- 字画典当贷款协议书
- 彩钢瓦屋面施工及屋顶绿化一体化合同样本
- 园林工程分部(子分部)工程、分项工程划分
- 【MOOC】人像摄影-中国传媒大学 中国大学慕课MOOC答案
- 派出所应对校园突发事件应急预案
- 燃气管道防火防爆安全方案
- 网络安全漏洞挖掘与报告
- 埋地消防管渗漏整改工程施工方案
- 装饰装修施工人员安全知识培训考试试卷及答案
- 2023年上海市普通高中学业水平合格性考试地理试题及答案
- 宿舍消防安全培训课件
- 2024版小学一年级下册综合实践活动模拟试卷
- 江苏2024年江苏省美术馆招聘笔试历年典型考题及考点附答案解析
评论
0/150
提交评论