JAVA用户图形界面 模拟裁判评分.doc_第1页
JAVA用户图形界面 模拟裁判评分.doc_第2页
JAVA用户图形界面 模拟裁判评分.doc_第3页
JAVA用户图形界面 模拟裁判评分.doc_第4页
JAVA用户图形界面 模拟裁判评分.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论