首页 > 编程知识 正文

JAVA课程设计报告,JAVA课程设计总结

时间:2023-05-04 20:48:47 阅读:207137 作者:1420

一、团队介绍 团队成员任务分配团队成员课程设计博客链接组长sydgq创建学生信息、创建登陆界面、撰写博客https://www.cnblogs.com/zc-565095526/p/10284188.html√吴越设计主菜单GUI图形界面以及查询、增、删、改等功能的实现 二、项目git地址

sydgq https://gitee.com/zc565095526/javakeshe/tree/master
吴越 https://gitee.com/ShangDaXueJiuBuLiaoZhongGuoRen/2019java_course_designwu_yue

三、项目git提交记录截图

sydgq:

吴越:

四、项目功能架构图与主要功能流程图

五、项目运行截图或屏幕录制 1.登陆系统

2.增加学生信息

删除之后

3.查看学生信息

输入学号

点击查看,显示该学生信息

换一个未添加学号,显示学号不存在

4.修改学生信息

将宿舍号从503改为502

修改完后

5.清空功能

要重新输入信息时,要一行行删除 太过麻烦。因此我们重新设计了一个“清空”按钮。以此来实现一键清空的功能

清空前

清空后

##6.显示所有学生信息

点击显示按钮,则会显示所有学生的信息。以“结束”作为标识符结束

六、项目关键代码 1.增加学生信息部分代码 // button1.addActionListener(new ActionListener() { // 监听增加, 使用内部类 public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { //点击增加数据按钮 button3.setEnabled(false); //使button3这个按钮变灰不可点击了 String number1 = number.getText(); //从文本框获取用户键盘输入的字符串 if (number1.length() == 12) { //学号要是12位的字符 try { ObjectInputStream input = new ObjectInputStream(new FileInputStream(file)); //读回对象 hash = (Hashtable) input.readObject(); //放到hash中去 input.close(); } catch (Exception e1) { } } else { JOptionPane.showMessageDialog(null, "请输入学生的学号"); //输入为空,就会提示此信息 } if (number1.length() == 12) { if (hash.containsKey(number1)) { JOptionPane.showMessageDialog(null, "该生信息已存在,请到修改页面修改!");//该学生已经存在,提示此信息 } else { String name1 = name.getText(); String dor1 = dor.getText(); String address1 = address.getText(); String sex1 = sex.getText(); String date1 = date.getText(); String pol1 = pol.getText(); String phone1 = phonenum.getText(); Student per = null; per = new Student(number1, name1, dor1, address1, sex1, date1, pol1, phone1); hash.put(number1, per); // 使用学号和学生来键值相对,添加 try { ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(file));//写出对象到对应文件中 output.writeObject(hash); output.close(); JOptionPane.showMessageDialog(null, "添加成功!"); } catch (Exception e1) {} } } } } }); 2.删除学生信息 button2.addActionListener(new ActionListener() { // 监听删除按钮 public void actionPerformed(ActionEvent e) { if (e.getSource() == button2) { button3.setEnabled(false); String number1 = number.getText(); if (number1.length() == 12) { try { ObjectInputStream input = new ObjectInputStream(new FileInputStream(file)); //每次都要读回对象 hash = (Hashtable) input.readObject(); input.close(); } catch (Exception e1) { } } else { JOptionPane.showMessageDialog(null, "请输入学生的学号");//提示信息 } if (hash.containsKey(number1)) { hash.remove(number1); //删除操作 ObjectOutputStream output = null; //初始输出置空 JOptionPane.showMessageDialog(null, "删除成功"); try { output = new ObjectOutputStream(new FileOutputStream(file)); //写出对象到对应文件中 output.writeObject(hash); //将hash中的数据写出 output.close(); } catch (IOException ex) { Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex); } } else { JOptionPane.showMessageDialog(null, "学号不存在"); } } } }); 3.修改学生信息 button3.addActionListener(new ActionListener() { // 监听修改按钮 public void actionPerformed(ActionEvent e) { if (e.getSource() == button3) { button3.setEnabled(false); String number1 = number.getText(); String name1 = name.getText(); String dor1 = dor.getText(); String address1 = address.getText(); String sex1 = sex.getText(); String date1 = date.getText(); String pol1 = pol.getText(); String phone1 = phonenum.getText(); Student per = new Student(number1, name1, dor1, address1, sex1, date1, pol1, phone1); hash.put(number1, per); JOptionPane.showMessageDialog(null, "修改成功"); try { ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(file));//写出对象到对应文件中 output.writeObject(hash); output.close(); } catch (Exception e1) { } } } }); 七、项目代码扫描结果及改正 八、尚待改进 1.登陆界面在输完密码之后无法直接用回车进入系统,上网查资料无果,只能单击“登录”按钮才能进入系统。 2.图形界面的背景图部分,想要给其加自定义背景图片,但是由于时间比较赶(有去尝试过),也未能完成改进。 3.想通过其他信息部分进行索引,查到该学生的具体资料,但由于时间不够,就只做了以学号为索引的方式 4.学号的排序方式有问题,变成了从大到小进行排序,因为使用的是Enumeration遍历方法

转载于:https://www.cnblogs.com/zc-565095526/p/10284188.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。