码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA课程设计

时间:2019-01-17 23:40:12      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:分享   remove   menu   lse   output   删除按钮   ring   uri   主菜单   

一、团队介绍

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

二、项目git地址

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

三、项目git提交记录截图

张弛:
技术分享图片

吴越:
技术分享图片

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

技术分享图片

五、项目运行截图或屏幕录制

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.想通过其他信息部分进行索引,查到该学生的具体资料,但由于时间不够,就只做了以学号为索引的方式

JAVA课程设计

标签:分享   remove   menu   lse   output   删除按钮   ring   uri   主菜单   

原文地址:https://www.cnblogs.com/zc-565095526/p/10284188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!