JAVA大作业 | 学生成绩信息管理系统

> * *JAVA大作业 | 学生成绩管理系统(含有用户界面)***

————- ps :多个包写在一起———–

package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.ArrayList;

class person{
    public String name;
    public String age;
}

class Student extends person{
    public String no;
    public String score1,score2,score3,score4;
    public Student(String no, String name, String age,String score1,String score2,String score3,String score4) {
        this.no = no;
        this.name = name;
        this.age = age;
        this.score1 = score1;  
        this.score2 = score2; 
        this.score3 = score3;
        this.score4 = score4; 
    }

    public String getNo() {
        return this.no;
    }
    public void setNo(String no) {
        this.no = no;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return this.age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getscore1() {
        return this.score1;
    }
    public void setscore1(String score1) {
        this.score1 = score1;
        }
    public String getscore2() {
            return this.score2;
        }
    public void setscore2(String score2) {
            this.score2 = score2;
        }
    public String getscore3() {
        return this.score3;
    }
    public void setscore3(String score3) {
        this.score3 = score3;
    }
    public String getscore4() {
        return this.score4;
    }
    public void setscore4(String score4) {
        this.score4 = score4;
    }

}

class Class{
   ArrayList<Student> stuList;
   public Class(){
       this.stuList=new ArrayList<>();
   }
   public void addStudent(Student stu){
       this.stuList.add(stu);
   }
   public void deleteStudent(Student s){
       this.stuList.remove(s);
   }
}

class menu extends JFrame{
   public menu()
   {  
      this.setBounds(300, 150, 500, 450);
      this.setTitle("大连海事大学 -- --学生信息管理系统");
      this.setLayout(null);
      JLabel labTipw = new JLabel("欢迎进入 大连海事大学 学生信息管理系统");
      labTipw.setBounds(50, 2, 250, 45);
      JLabel labTipws = new JLabel("(*新用户初始密码为  身份证后六位数字)");
      labTipws.setBounds(50, 15, 250, 45);
      JLabel labyonghu = new JLabel("用户名:");
      labyonghu.setBounds(50, 60, 100, 50);
      JTextField txtyonghu = new JTextField("请输入登录用户名:",30);
      txtyonghu.setBounds(130, 76, 180, 30);        
      JLabel  labmima = new JLabel("密码:");
      labmima.setBounds(50, 100, 50, 50);
      JTextField txtmima = new JTextField("请输入登录6位密码:",30);
      txtmima.setBounds(130, 117, 180, 30);
      JButton btndianji = new JButton("点击登录"); 
      btndianji.setBounds(130, 165, 180, 30);
      btndianji.setForeground(Color.BLUE);

      this.add(labTipw);
      this.add(labTipws);
      this.add(labyonghu);
      this.add(txtyonghu);
      this.add(labmima);
      this.add(txtmima);
      this.add(btndianji);
      btndianji.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
      new StudentFrame();}
      } );
      setVisible(true);
   }  
}

public class StudentFrame extends JFrame {
        Class c = new Class();
        JLabel labNo;
        JLabel labName;
        JLabel labAge;
        JLabel labscore1;
        JLabel labscore2;
        JLabel labscore3;
        JLabel labscore4;
        JLabel labTip;
        JLabel labavr;

        JTextField txtNo;
        JTextField txtName;
        JTextField txtAge;
        JTextField txtscore1;
        JTextField txtscore2;
        JTextField txtscore3;
        JTextField txtscore4;
        JTextField txtavr;

        JButton btnAdd;
        JButton btnRemove;
        JButton btnModify;
        JButton btnClear;
        JButton btnFirst;
        JButton btnPrev;
        JButton btnNext;
        JButton btnLast;
        JButton btnCheck;
        JOptionPane dialog;

        public StudentFrame() {
            this.setBounds(300, 100, 650, 530);
            this.setTitle("大连海事大学 -- --学生信息管理系统");
            this.setLayout(null);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            studentin(); 
            addStu();
            firstStudent();
            lastStudent();
            previous();
            next();
            remove();
            check();
            modify();
            clear();
            this.setVisible(true);    
        }

        public void studentin() {
            labTip = new JLabel("登陆成功 !您已经进入管理系统(仅输入学号便可查找学生信息).");
            labTip.setBounds(50, 2, 550, 45);    
            labNo = new JLabel("学生学号:");            
            labNo.setBounds(50, 20, 100, 50);
            txtNo = new JTextField("请输入6位学号:",30);
            txtNo.setBounds(130, 35, 180, 30);              
            labName = new JLabel("学生姓名:");
            labName.setBounds(50, 60, 100, 50);
            txtName = new JTextField("请输入学生姓名:",30);
            txtName.setBounds(130, 76, 180, 30);        
            labAge = new JLabel("班级:");
            labAge.setBounds(50, 100, 50, 50);
            txtAge = new JTextField("请输入学生所在班级:",30);
            txtAge.setBounds(130, 117, 180, 30);
            labscore1 = new JLabel("JAVA 成绩:");         
            labscore1.setBounds(50, 140, 100, 50);
            txtscore1 = new JTextField("请输入学生成绩:",30);
            txtscore1.setBounds(130, 158, 180, 30);
            labscore2 = new JLabel("C语言成绩:");           
            labscore2.setBounds(50, 189, 100, 50);
            txtscore2 = new JTextField("请输入学生成绩:",30);
            txtscore2.setBounds(130, 199, 180, 30);
            labscore3 = new JLabel("Python成绩:");            
            labscore3.setBounds(50, 230, 100, 50);
            txtscore3 = new JTextField("请输入学生成绩:",30);
            txtscore3.setBounds(130, 240, 180, 30);
            labscore4 = new JLabel("C++ 成绩:");          
            labscore4.setBounds(50, 290, 100, 50);
            txtscore4 = new JTextField("请输入学生成绩:",30);
            txtscore4.setBounds(130, 301, 180, 30);
            labavr = new JLabel("操作说明  ** |<< : 第一个学生信息    <:上一位学生信息   >:下一个学生信息  >>|:最后一个学生信息");
            labavr.setBounds(50, 330, 580, 50);

            btnAdd = new JButton("添加");
            btnAdd.setBounds(50, 385, 80, 20);
            btnAdd.setForeground(Color.BLACK);
            btnModify = new JButton("修改");
            btnModify.setBounds(150, 385, 80, 20);
            btnModify.setForeground(Color.BLUE);
            btnRemove = new JButton("删除");
            btnRemove.setBounds(250, 385, 80, 20);
            btnRemove.setForeground(Color.RED);
            btnClear = new JButton("清空");
            btnClear.setBounds(350, 385, 80, 20);
            btnClear.setForeground(Color.GREEN);
            btnCheck = new JButton("查找信息");
            btnCheck.setBounds(350, 145, 160, 50);
            btnCheck.setForeground(Color.BLACK);
            btnFirst = new JButton("|<<");
            btnFirst.setBounds(50, 432, 80, 20);
            btnFirst.setForeground(Color.PINK);
            btnPrev = new JButton("<");
            btnPrev.setBounds(150, 432, 80, 20);
            btnPrev.setForeground(Color.BLACK);
            btnNext = new JButton(">");
            btnNext.setBounds(250, 432, 80, 20);
            btnNext.setForeground(Color.BLACK);
            btnLast = new JButton(">>|");
            btnLast.setBounds(350, 432, 80, 20);
            btnLast.setForeground(Color.PINK);

            this.add(labNo);
            this.add(labName);
            this.add(labAge);
            this.add(labscore1);
            this.add(txtNo);
            this.add(labTip);
            this.add(txtName);
            this.add(txtAge);
            this.add(txtscore1);
            this.add(btnAdd);
            this.add(btnRemove);
            this.add(btnModify);
            this.add(btnClear);
            this.add(btnFirst);
            this.add(btnPrev);
            this.add(btnNext);
            this.add(btnLast);
            this.add(btnCheck);
            this.add(labavr);
            this.add(labscore2);
            this.add(txtscore2);
            this.add(labscore3);
            this.add(txtscore3); 
            this.add(labscore4);
            this.add(txtscore4);


    }

        public boolean blank() {
            if (txtNo.getText().equals("")) {
                dialog.showMessageDialog(null, "学号输入有误 请重新输入!");
                return false;
            }
            if (txtName.getText().equals("")) {
                dialog.showMessageDialog(null, "名字输入有误 请重新输入!");
                return false;
            }
            if (txtAge.getText().equals("")) {
                dialog.showMessageDialog(null, "班级输入有误 请重新输入!");
                return false;
            }if (txtscore1.getText().equals("")) {
                dialog.showMessageDialog(null, "成绩输入有误 请重新输入!");
                return false;
            }if (txtscore2.getText().equals("")) {
                dialog.showMessageDialog(null, "成绩输入有误 请重新输入!");
                return false;
            }
            if (txtscore3.getText().equals("")) {
                dialog.showMessageDialog(null, "成绩输入有误 请重新输入!");
                return false;
            }
            if (txtscore4.getText().equals("")) {
                dialog.showMessageDialog(null, "成绩输入有误 请重新输入!");
                return false;
            }
            return true;
        }

        public void addStu() {
           btnAdd.addActionListener(new ActionListener() {

           public void actionPerformed(ActionEvent e) {
             if (blank() == true) {
                      c.addStudent(new Student(txtNo.getText(), txtName.getText(), txtAge.getText(),txtscore1.getText(),txtscore2.getText(),txtscore3.getText(),txtscore4.getText()));
                      dialog.showMessageDialog(null, "学生信息已添加成功");


            }}});
    }
        public void firstStudent() {     
            btnFirst.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    txtNo.setText(c.stuList.get(0).getNo());
                    txtName.setText(c.stuList.get(0).getName());
                    txtAge.setText(c.stuList.get(0).getAge());
                    txtscore1.setText(c.stuList.get(0).getscore1());
                    txtscore2.setText(c.stuList.get(0).getscore2());
                    txtscore3.setText(c.stuList.get(0).getscore3());
                    txtscore4.setText(c.stuList.get(0).getscore4());

                }
            });
        }
        public void lastStudent() {
            btnLast.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    txtNo.setText(c.stuList.get(c.stuList.size() - 1).getNo());
                    txtName.setText(c.stuList.get(c.stuList.size() - 1).getName());
                    txtAge.setText(c.stuList.get(c.stuList.size() - 1).getAge());
                    txtscore1.setText(c.stuList.get(c.stuList.size() - 1).getscore1());
                    txtscore2.setText(c.stuList.get(c.stuList.size() - 1).getscore2());
                    txtscore3.setText(c.stuList.get(c.stuList.size() - 1).getscore3());
                    txtscore4.setText(c.stuList.get(c.stuList.size() - 1).getscore4());
                }
            });
        }

        public void previous() {
            btnPrev.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    int n = 0;
                    for (int i = 0; i < c.stuList.size(); i++) {
                        if (c.stuList.get(i).getNo().equals(txtNo.getText())) {
                            n = i - 1;
                        }
                    }
                    if (c.stuList.get(0).getNo().equals(txtNo.getText())) {
                        dialog.showMessageDialog(null, "再无上一个学生");
                    } else {
                        txtNo.setText(c.stuList.get(n).getNo());
                        txtName.setText(c.stuList.get(n).getName());
                        txtAge.setText(c.stuList.get(n).getAge());
                        txtscore1.setText(c.stuList.get(n).getscore1());
                        txtscore2.setText(c.stuList.get(n).getscore2());
                        txtscore3.setText(c.stuList.get(n).getscore3());
                        txtscore4.setText(c.stuList.get(n).getscore4());
                        }
                }
            });
        }

        public void next() {
            btnNext.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    int n = 0;
                    for (int i = 0; i < c.stuList.size(); i++) {
                        if (c.stuList.get(i).getNo().equals(txtNo.getText())) {
                            n = i + 1;
                        }
                    }
                    if (c.stuList.get(c.stuList.size() - 1).getNo().equals(txtNo.getText())) {
                        dialog.showMessageDialog(null, "再无下一个学生");
                    } else {
                        txtNo.setText(c.stuList.get(n).getNo());
                        txtName.setText(c.stuList.get(n).getName());
                        txtAge.setText(c.stuList.get(n).getAge());
                        txtscore1.setText(c.stuList.get(n).getscore1());
                        txtscore2.setText(c.stuList.get(n).getscore2());
                        txtscore3.setText(c.stuList.get(n).getscore3());
                        txtscore4.setText(c.stuList.get(n).getscore4());}
                }
            });
        }

        public void remove() {
            btnRemove.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if (c.stuList.size() == 0) {
                        JOptionPane.showMessageDialog(null, "没有该学生信息");
                    } else {
                        Student s = new Student(txtNo.getText(), txtName.getText(), txtAge.getText(),txtscore1.getText(),txtscore2.getText(),txtscore3.getText(),txtscore4.getText());
                        if (blank() == true) {
                            System.out.println(c.stuList.contains(s));
                            System.out.println(s);
                            if (!c.stuList.contains(s)) {
                                c.deleteStudent(s);

                                JOptionPane.showMessageDialog(null, "已经删除成功");
                                int a = 0;
                                for (int i = 0; i < c.stuList.size(); i++) {
                                    if (c.stuList.get(i).getNo().equals(txtNo.getText())) {
                                        a = i + 1;
                                    }
                                }
                                if (c.stuList.size() > 0) {

                                    if (c.stuList.get(c.stuList.size() - 1).getNo().equals(txtNo.getText())) {
                                        txtNo.setText(c.stuList.get(0).getNo());
                                        txtName.setText(c.stuList.get(0).getName());
                                        txtAge.setText(c.stuList.get(0).getAge());
                                        txtscore1.setText(c.stuList.get(0).getscore1());
                                        txtscore2.setText(c.stuList.get(0).getscore2());
                                        txtscore3.setText(c.stuList.get(0).getscore3());
                                        txtscore4.setText(c.stuList.get(0).getscore4());
                                    } else {
                                        txtNo.setText(c.stuList.get(a).getNo());
                                        txtName.setText(c.stuList.get(a).getName());
                                        txtAge.setText(c.stuList.get(a).getAge());
                                        txtscore1.setText(c.stuList.get(a).getscore1());
                                        txtscore2.setText(c.stuList.get(a).getscore2());
                                        txtscore3.setText(c.stuList.get(a).getscore3());
                                        txtscore4.setText(c.stuList.get(a).getscore4());
                                    }
                                } else {
                                    clear();
                                }
                            } else {
                                dialog.showMessageDialog(null, "未来找到对应学生的信息");  }}
                    }
                }
            });
        }

        public void modify() {
            btnModify.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if (c.stuList.size() == 0) {
                        dialog.showMessageDialog(null, "没有该学生信息");
                    }
                    for (Student s : c.stuList) {
                        if (s.getNo().equals(txtNo.getText())) {
                            if (blank() == true) {
                                s.setName(txtName.getText());
                                s.setAge(txtAge.getText());

                                JOptionPane.showMessageDialog(null, "已经修改成功");
                                return;
                            }
                        }
                    }
                    JOptionPane.showMessageDialog(null, "修改失败请重新操作");
                }
            });
        }

        public void check() {
            btnCheck.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    if ((txtNo.getText().equals(""))) {
                        dialog.showMessageDialog(null, "学号不能为空 请从新输入");
                    } else {
                        int m = 0;
                        for (int i = 0; i < c.stuList.size(); i++) {
                            if (c.stuList.get(i).getNo().equals(txtNo.getText())) {
                                JOptionPane.showMessageDialog(null, "已查到该学生信息");
                                txtName.setText(c.stuList.get(i).getName());
                                txtAge.setText(c.stuList.get(i).getAge());
                                txtscore1.setText(c.stuList.get(i).getscore1());
                                txtscore2.setText(c.stuList.get(i).getscore2());
                                txtscore3.setText(c.stuList.get(i).getscore3());
                                txtscore4.setText(c.stuList.get(i).getscore4());
                                break;}
                                 m++;}
                        if (m == c.stuList.size()) {
                            dialog.showMessageDialog(null, "没有此学生的相关信息");
                            return;  }
                    }
                }
            });
        }

        public void clear() {
            btnClear.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    txtNo.setText("");
                    txtName.setText("");
                    txtAge.setText("");
                    txtscore1.setText("");
                    txtscore2.setText("");
                    txtscore3.setText("");
                    txtscore4.setText("");
          }
            }
            );
        }    

        public static void main(String[] args) {
             new menu();             
        }    
}

猜你喜欢

转载自blog.csdn.net/weixin_42305364/article/details/82191417