学生成绩管理系统StudentManagement

  • 在写此程序的时候,我也是作为初学者一边摸索一边借鉴很多前辈的经验,在此我声明出处,感谢前辈们!
  • https://blog.csdn.net/LIU2220172849/article/details/80836956
  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;

    public class AddOne extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        private JFrame frameAddOne = new JFrame();

        private JLabel textTitle = new JLabel();

        private JLabel numLbl = new JLabel("number :");
        private JLabel nameLbl = new JLabel("name :");
        private JLabel classNameLbl = new JLabel("class :");
        private JLabel mathLbl = new JLabel("math :");
        private JLabel EngLbl = new JLabel("English :");
        private JLabel javaLbl = new JLabel("Java :");

        private JTextField numText = new JTextField(20);
        private JTextField nameText = new JTextField(20);
        private JTextField classNameText = new JTextField(20);
        private JTextField mathText = new JTextField(20);
        private JTextField EngText = new JTextField(20);
        private JTextField javaText = new JTextField(20);

        private JButton enterBtn = new JButton("enter");
        private JButton clearBtn = new JButton("clear");
        private JButton exitBtn = new JButton("exit");

        private String num, name, className, math, English, java;

        public AddOne() {
            setFrame();
            setComponents();
            addComponents();
            initBtns();
        }

        private void setFrame() {
            frameAddOne.setTitle("add information");
            frameAddOne.setLayout(null);
            frameAddOne.setBounds(750, 300, 500, 500);
            frameAddOne.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frameAddOne.setVisible(true);
        }

        private void setComponents() {
            textTitle.setText("Please fill the text chart to add information.");
            textTitle.setBounds(120, 50, 250, 20);

            numLbl.setBounds(30, 150, 60, 20);
            numText.setBounds(100, 148, 100, 25);

            nameLbl.setBounds(30, 200, 60, 20);
            nameText.setBounds(100, 198, 100, 25);

            classNameLbl.setBounds(30, 250, 60, 20);
            classNameText.setBounds(100, 248, 100, 25);

            mathLbl.setBounds(280, 150, 60, 20);
            mathText.setBounds(350, 148, 100, 25);

            EngLbl.setBounds(280, 200, 60, 20);
            EngText.setBounds(350, 198, 100, 25);

            javaLbl.setBounds(280, 250, 60, 20);
            javaText.setBounds(350, 248, 100, 25);

            enterBtn.setBounds(100, 350, 70, 25);
            clearBtn.setBounds(200, 350, 70, 25);
            exitBtn.setBounds(300, 350, 70, 25);
        }

        private void addComponents() {
            frameAddOne.add(textTitle);

            frameAddOne.add(numLbl);
            frameAddOne.add(numText);
            frameAddOne.add(nameLbl);
            frameAddOne.add(nameText);
            frameAddOne.add(classNameLbl);
            frameAddOne.add(classNameText);
            frameAddOne.add(mathLbl);
            frameAddOne.add(mathText);
            frameAddOne.add(EngLbl);
            frameAddOne.add(EngText);
            frameAddOne.add(javaLbl);
            frameAddOne.add(javaText);

            frameAddOne.add(enterBtn);
            frameAddOne.add(clearBtn);
            frameAddOne.add(exitBtn);
        }

        private void initBtns() {
            enterBtn.addActionListener(this);
            clearBtn.addActionListener(this);
            exitBtn.addActionListener(this);
        }

        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == enterBtn) {
                addOne();
            }
            if (e.getSource() == clearBtn) {
                clearOut();
            }
            if (e.getSource() == exitBtn) {
                HomePage.hp.setVisible(true);
                frameAddOne.dispose();
            }
        }

        @SuppressWarnings("static-access")
        public void addOne() {
            scan();
            if (Login.mm.judge(Integer.valueOf(num), Float.valueOf(math), Float.valueOf(English), Float.valueOf(java))) {
                JOptionPane.showMessageDialog(null, "existing illegal score or information,try again!", "warning",
                        JOptionPane.INFORMATION_MESSAGE);
            } else {
                boolean judgeSameFlag = true;
                for (int i = 0; i < Login.mm.list.size(); i++) {
                    if (Login.mm.list.get(i).getNum().equals(num))
                        judgeSameFlag = false;
                }
                if (judgeSameFlag) {
                    Student stu = new Student(num, name, className, Float.valueOf(math), Float.valueOf(English),
                            Float.valueOf(java));
                    Login.mm.add(stu);
                    JOptionPane.showMessageDialog(null, "add information successfully!", "notice",
                            JOptionPane.INFORMATION_MESSAGE);
                } else {
                    JOptionPane.showMessageDialog(null, "the number is already existed!", "notice",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            }

        }

        public void scan() {
            num = numText.getText();
            name = nameText.getText();
            className = classNameText.getText();
            math = mathText.getText();
            English = EngText.getText();
            java = javaText.getText();

        }

        public void clearOut() {
            numText.setText("");
            nameText.setText("");
            classNameText.setText("");
            mathText.setText("");
            EngText.setText("");
            javaText.setText("");
        }

    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class DeleteConfirmation extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public static JFrame confirmFrame = new JFrame();

        private JLabel confirmText = new JLabel();

        private JButton confirmBtn = new JButton("sure");
        private JButton denyBtn = new JButton("rethink");

        public DeleteConfirmation() {
            setConfirmation();
            setComponents();
            addComponents();
            initBtns();
        }

        private void setConfirmation() {
            confirmFrame.setTitle("confirmation");
            confirmFrame.setLayout(null);
            confirmFrame.setBounds(830, 425, 340, 200);
            confirmFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            confirmFrame.setVisible(true);
        }

        private void setComponents() {
            confirmText.setText("Are you sure to delete the information?");
            confirmText.setBounds(45, 35, 250, 25);

            confirmBtn.setBounds(70, 90, 80, 25);
            denyBtn.setBounds(170, 90, 80, 25);
        }

        private void addComponents() {
            confirmFrame.add(confirmText);
            confirmFrame.add(confirmBtn);
            confirmFrame.add(denyBtn);
        }

        private void initBtns() {
            confirmBtn.addActionListener(this);
            denyBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == confirmBtn) {
                DeleteOne.search();
            } else if (e.getSource() == denyBtn) {
                confirmFrame.dispose();
            }
        }

    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;

    public class DeleteOne extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        private static JFrame delFrame = new JFrame();

        private JLabel delNumLbl = new JLabel();
        private static JTextField searchNumText = new JTextField(20);

        private JButton deleteBtn = new JButton("delete");
        private JButton cancelBtn = new JButton("cancel");

        public DeleteOne() {
            setFrame();
            setComponents();
            addComponents();
            initBtns();
        }

        private void setFrame() {
            delFrame.setTitle("delete records");
            delFrame.setLayout(null);
            delFrame.setBounds(750, 300, 500, 500);
            delFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            delFrame.setVisible(true);
        }

        private void setComponents() {
            delNumLbl.setText("input a student's number to delete:");
            delNumLbl.setBounds(80, 150, 200, 20);
            searchNumText.setBounds(290, 148, 100, 25);

            deleteBtn.setBounds(140, 250, 73, 25);
            cancelBtn.setBounds(270, 250, 73, 25);
        }

        private void addComponents() {
            delFrame.add(delNumLbl);
            delFrame.add(searchNumText);
            delFrame.add(deleteBtn);
            delFrame.add(cancelBtn);
        }

        public void initBtns() {
            deleteBtn.addActionListener(this);
            cancelBtn.addActionListener(this);
        }

        public static void search() {
            boolean existenceFlag = true;
            String targetNum = searchNumText.getText();
            for (int i = 0; i < Login.mm.list.size(); i++) {
                if (Login.mm.list.get(i).getNum().equals(targetNum)) {
                    Login.mm.list.remove(i);
                    existenceFlag = false;
                    searchNumText.setText("");
                    DeleteConfirmation.confirmFrame.dispose();
                    JOptionPane.showMessageDialog(null, "delete the information successfully !", "notice",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            }
            if (existenceFlag) {
                JOptionPane.showMessageDialog(null, "the information does not exit !", "warming",
                        JOptionPane.INFORMATION_MESSAGE);
                searchNumText.setText("");
                DeleteConfirmation.confirmFrame.dispose();
            }
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == deleteBtn) {
                if (searchNumText.getText().length() != 0) {
                    new DeleteConfirmation();
                } else {
                    JOptionPane.showMessageDialog(null, "Please input a number to delete", "warming",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            } else if (e.getSource() == cancelBtn) {
                HomePage.hp.setVisible(true);
                delFrame.dispose();
            }
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;

    public class EditOne extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public static JFrame editSearchFrame = new JFrame();

        private JLabel searchLbl = new JLabel();
        public static JTextField searchNumText = new JTextField(20);

        private JButton searchBtn = new JButton("edit");
        private JButton exitBtn = new JButton("exit");

        public EditOne() {
            setFrameAddComponents();
            initBtns();
        }

        private void setFrameAddComponents() {
            editSearchFrame.setTitle("search");
            editSearchFrame.setLayout(null);
            editSearchFrame.setBounds(830, 425, 340, 200);

            searchLbl.setText("input the num you want to edit :");
            searchLbl.setBounds(20, 50, 180, 20);

            searchNumText.setBounds(200, 48, 100, 25);
            searchBtn.setBounds(70, 100, 60, 20);
            exitBtn.setBounds(170, 100, 60, 20);

            editSearchFrame.add(searchLbl);
            editSearchFrame.add(searchNumText);
            editSearchFrame.add(searchBtn);
            editSearchFrame.add(exitBtn);

            editSearchFrame.setVisible(true);
        }

        private void initBtns() {
            searchBtn.addActionListener(this);
            exitBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == searchBtn) {
                new EditOneDetails(searchNumText.getText());
            } else if (e.getSource() == exitBtn) {
                HomePage.hp.setVisible(true);
                editSearchFrame.dispose();
            }
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;

    public class EditOneDetails implements ActionListener {
        private JFrame frameEditOne = new JFrame();

        private JLabel textTitle = new JLabel();

        private JLabel numLbl = new JLabel("number :");
        private JLabel nameLbl = new JLabel("name :");
        private JLabel classNameLbl = new JLabel("class :");
        private JLabel mathLbl = new JLabel("math :");
        private JLabel EngLbl = new JLabel("English :");
        private JLabel javaLbl = new JLabel("Java :");

        private JTextField numText = new JTextField(20);
        private JTextField nameText = new JTextField(20);
        private JTextField classNameText = new JTextField(20);
        private JTextField mathText = new JTextField(20);
        private JTextField EngText = new JTextField(20);
        private JTextField javaText = new JTextField(20);

        private JButton editBtn = new JButton("edit");
        private JButton clearBtn = new JButton("clear");
        private JButton cancelBtn = new JButton("cancel");

        private String num, name, className, math, English, java;

        public EditOneDetails(String targetNum) {

            if (checkExistence(targetNum)) {
                setFrame();
                setCompnents();
                addComponents();
                ShowInitInformation(targetNum);
                initBtns();
            } else {
                JOptionPane.showMessageDialog(null, "The information doesn't exit !", "warming",
                        JOptionPane.INFORMATION_MESSAGE);
                EditOne.searchNumText.setText("");
            }
        }

        private boolean checkExistence(String targetNum) {
            for (int i = 0; i < Login.mm.list.size(); i++) {
                if (Login.mm.list.get(i).getNum().equals(targetNum)) {
                    return true;
                }
            }
            return false;
        }

        private void setFrame() {

            frameEditOne.setTitle("add information");
            frameEditOne.setLayout(null);
            frameEditOne.setBounds(750, 300, 500, 500);
            frameEditOne.setVisible(true);
        }

        private void setCompnents() {
            textTitle.setText("Here is the information to edit.");
            textTitle.setBounds(135, 50, 220, 20);

            numLbl.setBounds(30, 150, 60, 20);
            numText.setBounds(100, 148, 100, 25);

            nameLbl.setBounds(30, 200, 60, 20);
            nameText.setBounds(100, 198, 100, 25);

            classNameLbl.setBounds(30, 250, 60, 20);
            classNameText.setBounds(100, 248, 100, 25);

            mathLbl.setBounds(280, 150, 60, 20);
            mathText.setBounds(350, 148, 100, 25);

            EngLbl.setBounds(280, 200, 60, 20);
            EngText.setBounds(350, 198, 100, 25);

            javaLbl.setBounds(280, 250, 60, 20);
            javaText.setBounds(350, 248, 100, 25);

            editBtn.setBounds(100, 350, 75, 25);
            clearBtn.setBounds(200, 350, 75, 25);
            cancelBtn.setBounds(300, 350, 75, 25);
        }

        private void addComponents() {
            frameEditOne.add(textTitle);

            frameEditOne.add(numLbl);
            frameEditOne.add(numText);
            frameEditOne.add(nameLbl);
            frameEditOne.add(nameText);
            frameEditOne.add(classNameLbl);
            frameEditOne.add(classNameText);
            frameEditOne.add(mathLbl);
            frameEditOne.add(mathText);
            frameEditOne.add(EngLbl);
            frameEditOne.add(EngText);
            frameEditOne.add(javaLbl);
            frameEditOne.add(javaText);

            frameEditOne.add(editBtn);
            frameEditOne.add(clearBtn);
            frameEditOne.add(cancelBtn);
        }

        private void ShowInitInformation(String targetNum) {
            for (int i = 0; i < Login.mm.list.size(); i++)
                if (Login.mm.list.get(i).getNum().equals(targetNum)) {
                    num = Login.mm.list.get(i).getNum();
                    name = Login.mm.list.get(i).getName();
                    className = Login.mm.list.get(i).getClassName();
                    math = String.valueOf(Login.mm.list.get(i).getMath());
                    English = String.valueOf(Login.mm.list.get(i).getEnglish());
                    java = String.valueOf(Login.mm.list.get(i).getJava());

                    numText.setText(num);
                    nameText.setText(name);
                    classNameText.setText(className);
                    mathText.setText(math);
                    EngText.setText(English);
                    javaText.setText(java);
                }
        }

        private void initBtns() {
            editBtn.addActionListener(this);
            clearBtn.addActionListener(this);
            cancelBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == editBtn) {
                updateInformation();
            } else if (e.getSource() == clearBtn) {
                clearUp();
            } else if (e.getSource() == cancelBtn) {
                EditOne.searchNumText.setText("");
                frameEditOne.dispose();
            }
        }

        private void updateInformation() {
            while (checkCompletion() || checkLegitmacy()) {
                if (checkCompletion()) {
                    JOptionPane.showMessageDialog(null, "Please complete the text chart!", "Warming",
                            JOptionPane.INFORMATION_MESSAGE);
                }
                if (checkLegitmacy()) {
                    JOptionPane.showMessageDialog(null, "existing illegal score or information,try again!", "warning",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            }
            for (int i = 0; i < Login.mm.list.size(); i++) {
                if (Login.mm.list.get(i).getNum().equals(num)) {
                    Login.mm.list.get(i).setNum(numText.getText());
                    Login.mm.list.get(i).setName(nameText.getText());
                    Login.mm.list.get(i).setClassName(classNameText.getText());
                    Login.mm.list.get(i).setMath(Float.valueOf(mathText.getText()));
                    Login.mm.list.get(i).setEnglish(Float.valueOf(EngText.getText()));
                    Login.mm.list.get(i).setJava(Float.valueOf(javaText.getText()));
                }
            }
            JOptionPane.showMessageDialog(null, "edit information successfully!", "notice",
                    JOptionPane.INFORMATION_MESSAGE);
            EditOne.searchNumText.setText("");
            frameEditOne.dispose();
        }

        private boolean checkLegitmacy() {

            if (ManagementMethods.judge(Float.valueOf(num), Float.valueOf(math), Float.valueOf(English),
                    Float.valueOf(java))) {
                return true;
            }
            return false;
        }

        private boolean checkCompletion() {
            if (num.length() == 0 || name.length() == 0 || className.length() == 0 || math.length() == 0
                    || English.length() == 0 || java.length() == 0) {
                return true;
            }
            return false;
        }

        private void clearUp() {

            numText.setText("");
            nameText.setText("");
            classNameText.setText("");
            mathText.setText("");
            EngText.setText("");
            javaText.setText("");
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;

    public class HomePage extends JFrame implements ActionListener {

        /**
        
         * 
         */
        private static final long serialVersionUID = 1L;

        public static JFrame hp = new JFrame();

        private JMenuBar mb = new JMenuBar();

        private JMenu menuSystem = new JMenu("system");
        private JMenu menuStudent = new JMenu("student");
        private JMenu menuManagement = new JMenu("management");

        private JMenuItem systemEdit = new JMenuItem("reset password");
        private JMenuItem systemExit = new JMenuItem("exit");

        private JMenuItem stuShow = new JMenuItem("show up");

        private JMenuItem mAdd = new JMenuItem("add one");
        private JMenuItem mDelete = new JMenuItem("Delete");
        private JMenuItem mEdit = new JMenuItem("edit");
        private JMenuItem mFind = new JMenuItem("search");
        private JMenuItem mShow = new JMenuItem("sum up");

        private JLabel text = new JLabel();

        public HomePage() {

            setHomePage();
            addComponents();
            setText();
            setListeners();
        }

        private void setHomePage() {
            hp.setTitle("HomePage");
            hp.setLayout(null);
            hp.setBounds(750, 300, 500, 500);
            hp.setJMenuBar(mb);
            hp.setDefaultCloseOperation(EXIT_ON_CLOSE);

            hp.add(text);
            hp.setVisible(true);
        }

        private void addComponents() {
            mb.add(menuSystem);
            mb.add(menuStudent);
            mb.add(menuManagement);

            menuSystem.add(systemEdit);
            menuSystem.add(systemExit);

            menuStudent.add(stuShow);

            menuManagement.add(mAdd);
            menuManagement.add(mDelete);
            menuManagement.add(mEdit);
            menuManagement.add(mFind);
            menuManagement.add(mShow);
        }

        private void setText() {
            text.setText("Welcome to the student managemnet system!");
            text.setBounds(150, 130, 270, 20);
        }

        private void setListeners() {
            systemEdit.addActionListener(this);
            systemExit.addActionListener(this);

            stuShow.addActionListener(this);

            mAdd.addActionListener(this);
            mDelete.addActionListener(this);
            mEdit.addActionListener(this);
            mFind.addActionListener(this);
            mShow.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == systemEdit) {
                new ResetPasword();
                hp.setVisible(false);
            } else if (e.getSource() == systemExit) {
                hp.dispose();
                Login.lgInterface.setVisible(true);
            } else if (e.getSource() == stuShow) {
                new SearchOne();
                hp.setVisible(false);
            } else if (e.getSource() == mAdd) {
                new AddOne();
                hp.setVisible(false);
            } else if (e.getSource() == mDelete) {
                new DeleteOne();
                hp.setVisible(false);
            } else if (e.getSource() == mEdit) {
                new EditOne();
                hp.setVisible(false);
            } else if (e.getSource() == mFind) {
                new SearchOne();
                hp.setVisible(false);
            } else if (e.getSource() == mShow) {
                new SumUp();
                hp.setVisible(false);
            }
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.BorderFactory;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;

    public class Login extends JFrame {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public static JFrame lgInterface = new JFrame();

        private JLabel accountLbl = new JLabel("account : ");
        private JLabel passwordLbl = new JLabel("password : ");

        private JTextField accountText = new JTextField(30);
        private JPasswordField passwordText = new JPasswordField(30);

        private JButton EnterBtn = new JButton("enter");
        private JButton ExitBtn = new JButton("exit");

        static ManagementMethods mm = new ManagementMethods();

        public Login() {
            setLogin();
            setComponents();
            setEnterBtnListenerActions();
            setExitBtnListener();
        }

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

        private void setLogin() {
            lgInterface.setLayout(null);
            lgInterface.setBounds(750, 300, 500, 500);
            lgInterface.setTitle("Student Management");
            lgInterface.setDefaultCloseOperation(EXIT_ON_CLOSE);

            lgInterface.add(accountLbl);
            lgInterface.add(passwordLbl);
            lgInterface.add(accountText);
            lgInterface.add(passwordText);
            lgInterface.add(EnterBtn);
            lgInterface.add(ExitBtn);
            lgInterface.setVisible(true);
        }

        private void setComponents() {

            accountLbl.setBounds(140, 150, 60, 25);
            passwordLbl.setBounds(130, 190, 70, 25);

            accountText.setBounds(210, 148, 120, 25);
            passwordText.setBounds(210, 190, 120, 25);

            EnterBtn.setBounds(150, 280, 50, 20);
            EnterBtn.setBorder(BorderFactory.createRaisedBevelBorder());
            ExitBtn.setBounds(300, 280, 50, 20);
            ExitBtn.setBorder(BorderFactory.createRaisedBevelBorder());
        }

        private void setEnterBtnListenerActions() {
            EnterBtn.addActionListener(new ActionListener() {

                @SuppressWarnings("deprecation")
                @Override
                public void actionPerformed(ActionEvent e) {
                    if (accountText.getText().equals(User.getAccount())
                            && passwordText.getText().equals(User.getPassword())) {
                        JOptionPane.showMessageDialog(null, "Log in successfully !", "Log in",
                                JOptionPane.INFORMATION_MESSAGE);
                        lgInterface.setVisible(false);
                        new HomePage();
                    } else if (accountText.getText().length() == 0 && passwordText.getText().length() == 0) {
                        JOptionPane.showMessageDialog(null, "Please fill up the ID !", "Log in failed",
                                JOptionPane.INFORMATION_MESSAGE);
                    } else {
                        JOptionPane.showMessageDialog(null, "Log in failed, try again!", "Log in failed",
                                JOptionPane.INFORMATION_MESSAGE);
                    }
                }
            });
        }

        private void setExitBtnListener() {
            ExitBtn.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
        }
    }
     

  • package studentmanagement;

    import java.util.ArrayList;

    public class ManagementMethods {
        User u = new User("1", "1");
        ArrayList<Student> list = new ArrayList<Student>();

        public static boolean judge(float num, float math, float English, float java) {
            if (num < 0 || math < 0 || math > 100 || English < 0 || English > 100 || java < 0 || java > 100) {
                return true;
            }
            return false;
        }

        public void add(Student stu) {
            list.add(stu);
        }

        public void sum() {
            for (int i = 0; i < list.size(); i++) {
                list.get(i).setSum(list.get(i).getMath() + list.get(i).getEnglish() + list.get(i).getJava());
            }
        }

        public void sort() {
            for (int i = 0; i < list.size(); i++)
                for (int j = 0; j < list.size() - 1 - i; j++)
                    if (list.get(j).getSum() < list.get(j + 1).getSum()) {
                        Object o = list.get(j);
                        list.set(j, list.get(j + 1));
                        list.set(j + 1, (Student) o);
                    }
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.BorderFactory;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;

    public class ResetPasword extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        private JFrame frameRP = new JFrame();

        private JLabel lblOrigin = new JLabel("original password : ");
        private JLabel lblnewOne = new JLabel("new password : ");
        private JLabel lblConfirm = new JLabel("confirm password : ");

        private JTextField textOrigin = new JTextField();
        private JPasswordField textNew = new JPasswordField();
        private JPasswordField textConfirm = new JPasswordField();

        private JButton btnEnter = new JButton("enter");
        private JButton btnExit = new JButton("exit");

        public ResetPasword() {
            setFrame();
            addComponents();
            iniBtns();
        }

        private void setFrame() {
            frameRP.setTitle("reset password");
            frameRP.setLayout(null);
            frameRP.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frameRP.setBounds(750, 300, 500, 500);

            frameRP.add(lblOrigin);
            frameRP.add(lblnewOne);
            frameRP.add(lblConfirm);
            frameRP.add(textOrigin);
            frameRP.add(textNew);
            frameRP.add(textConfirm);
            frameRP.add(btnEnter);
            frameRP.add(btnExit);

            frameRP.setVisible(true);
        }

        private void addComponents() {
            lblOrigin.setBounds(90, 120, 115, 25);
            lblnewOne.setBounds(108, 160, 100, 25);
            lblConfirm.setBounds(88, 203, 115, 25);

            textOrigin.setBounds(210, 118, 120, 25);
            textNew.setBounds(210, 160, 120, 25);
            textConfirm.setBounds(210, 204, 120, 25);

            btnEnter.setBounds(150, 280, 50, 20);
            btnEnter.setBorder(BorderFactory.createRaisedBevelBorder());
            btnExit.setBounds(300, 280, 50, 20);
            btnExit.setBorder(BorderFactory.createRaisedBevelBorder());
        }

        private void iniBtns() {
            btnEnter.addActionListener(this);
            btnExit.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == btnEnter) {
                editPassword();
            } else if (e.getSource() == btnExit) {
                frameRP.dispose();
                HomePage.hp.setVisible(true);
            }
        }

        @SuppressWarnings("deprecation")
        private void editPassword() {
            if (check()) {
                User.setPassword(textNew.getText());
                JOptionPane.showMessageDialog(null, "reset password successfully!", "new password",
                        JOptionPane.INFORMATION_MESSAGE);
                HomePage.hp.dispose();
                Login.lgInterface.setVisible(true);
                frameRP.dispose();
            } else {
                JOptionPane.showMessageDialog(null, "original password doesn't accord", "reset failed !",
                        JOptionPane.INFORMATION_MESSAGE);
            }
        }

        @SuppressWarnings("deprecation")
        private boolean check() {
            if (textOrigin.getText().equals(User.getPassword()) && textNew.getText().equals(textConfirm.getText())) {
                if (textOrigin.getText().equals(textNew.getText()))
                    JOptionPane.showMessageDialog(null, "same passwords, are you sure ?", "reset Warming !",
                            JOptionPane.INFORMATION_MESSAGE);
                return true;
            }
            return false;
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;

    public class SearchOne extends JFrame implements ActionListener {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public static JFrame searchFrame = new JFrame();

        private JLabel searchLbl = new JLabel();
        public static JTextField numText = new JTextField(20);

        private JButton searchBtn = new JButton("search");
        private JButton cancelBtn = new JButton("cancel");

        public SearchOne() {
            setFrameAddComponents();
            initBtns();
        }

        private void setFrameAddComponents() {
            searchFrame.setTitle("search");
            searchFrame.setLayout(null);
            searchFrame.setBounds(830, 425, 340, 200);

            searchLbl.setText("input number to search:");
            searchLbl.setBounds(30, 50, 182, 20);

            numText.setBounds(200, 48, 100, 25);
            searchBtn.setBounds(70, 100, 75, 25);
            cancelBtn.setBounds(170, 100, 75, 25);

            searchFrame.add(searchLbl);
            searchFrame.add(numText);
            searchFrame.add(searchBtn);
            searchFrame.add(cancelBtn);

            searchFrame.setVisible(true);
        }

        private void initBtns() {
            searchBtn.addActionListener(this);
            cancelBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == searchBtn) {
                new ShowDetails(numText.getText());
            } else if (e.getSource() == cancelBtn) {
                HomePage.hp.setVisible(true);
                searchFrame.dispose();
            }
        }
    }
     

  • package studentmanagement;

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;

    public class ShowDetails extends JFrame implements ActionListener {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private JFrame frameShow = new JFrame();
        private boolean existFlag = true;

        private JLabel textTitle = new JLabel();
        private JLabel numLbl = new JLabel("number :");
        private JLabel nameLbl = new JLabel("name :");
        private JLabel classNameLbl = new JLabel("class :");
        private JLabel mathLbl = new JLabel("math :");
        private JLabel EngLbl = new JLabel("English :");
        private JLabel javaLbl = new JLabel("Java :");

        private JLabel numText = new JLabel();
        private JLabel nameText = new JLabel();
        private JLabel classNameText = new JLabel();
        private JLabel mathText = new JLabel();
        private JLabel EngText = new JLabel();
        private JLabel javaText = new JLabel();

        private JButton exitBtn = new JButton("exit");

        private String num, name, className, math, English, java;

        public ShowDetails(String target) {
            if (judgeOrSetLbls(target)) {
                setFrame();
                setComponents();
                addComponents();
                initBtns();
            }
        }

        public void setFrame() {
            frameShow.setTitle("add information");
            frameShow.setLayout(null);
            frameShow.setBounds(750, 300, 500, 500);
            frameShow.setVisible(true);
        }

        public void setComponents() {
            textTitle.setText("Here is the searching result");
            textTitle.setBounds(150, 50, 220, 20);

            numLbl.setBounds(55, 150, 60, 20);
            numText.setBounds(110, 148, 100, 25);

            nameLbl.setBounds(55, 200, 60, 20);
            nameText.setBounds(110, 198, 100, 25);

            classNameLbl.setBounds(55, 250, 60, 20);
            classNameText.setBounds(110, 248, 100, 25);

            mathLbl.setBounds(305, 150, 60, 20);
            mathText.setBounds(360, 148, 100, 25);

            EngLbl.setBounds(305, 200, 60, 20);
            EngText.setBounds(360, 198, 100, 25);

            javaLbl.setBounds(305, 250, 60, 20);
            javaText.setBounds(360, 248, 100, 25);

            exitBtn.setBounds(210, 350, 75, 25);
        }

        public void addComponents() {
            frameShow.add(textTitle);

            frameShow.add(numLbl);
            frameShow.add(numText);
            frameShow.add(nameLbl);
            frameShow.add(nameText);
            frameShow.add(classNameLbl);
            frameShow.add(classNameText);
            frameShow.add(mathLbl);
            frameShow.add(mathText);
            frameShow.add(EngLbl);
            frameShow.add(EngText);
            frameShow.add(javaLbl);
            frameShow.add(javaText);

            frameShow.add(exitBtn);
        }

        public boolean judgeOrSetLbls(String target) {
            for (int i = 0; i < Login.mm.list.size(); i++) {
                if (Login.mm.list.get(i).getNum().equals(target)) {
                    existFlag = false;
                    num = Login.mm.list.get(i).getNum();
                    name = Login.mm.list.get(i).getName();
                    className = Login.mm.list.get(i).getClassName();
                    math = String.valueOf(Login.mm.list.get(i).getMath());
                    English = String.valueOf(Login.mm.list.get(i).getEnglish());
                    java = String.valueOf(Login.mm.list.get(i).getJava());

                    numText.setText(num);
                    nameText.setText(name);
                    classNameText.setText(className);
                    mathText.setText(math);
                    EngText.setText(English);
                    javaText.setText(java);
                    return true;
                }
            }
            if (existFlag) {
                JOptionPane.showMessageDialog(numLbl, "the infomation doesn't exist !", "title",
                        JOptionPane.INFORMATION_MESSAGE);
            }
            return false;
        }

        public void initBtns() {
            exitBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == exitBtn) {
                SearchOne.searchFrame.setVisible(true);
                SearchOne.numText.setText("");
                frameShow.dispose();
            }
        }
    }

  • package studentmanagement;

    public class Student {
        private String num;
        private String name;
        private String className;
        private float math;
        private float English;
        private float java;
        private float sum;

        public Student(String num, String name, String className, float math, float English, float java) {
            this.num = num;
            this.name = name;
            this.className = className;
            this.math = math;
            this.English = English;
            this.java = java;
        }

        public String getNum() {
            return num;
        }

        public String getName() {
            return name;
        }

        public String getClassName() {
            return className;
        }

        public float getMath() {
            return math;
        }

        public float getEnglish() {
            return English;
        }

        public float getJava() {
            return java;
        }

        public float getSum() {
            return sum;
        }

        public void setNum(String num) {
            this.num = num;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setClassName(String className) {
            this.className = className;
        }

        public void setMath(float math) {
            this.math = math;
        }

        public void setEnglish(float English) {
            this.English = English;
        }

        public void setJava(float java) {
            this.java = java;
        }

        public void setSum(float sum) {
            this.sum = sum;
        }
    }
     

  • package studentmanagement;

    import java.awt.Container;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.SwingConstants;

    public class SumUp extends JFrame implements ActionListener {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        private boolean disposal = true;
        JFrame wholeFrame = new JFrame();
        Container cWhole = this.getContentPane();

        JPanel pTitle = new JPanel();
        JLabel lblTitle = new JLabel("the whole information(Scores down)", SwingConstants.CENTER);
        JTextArea textRanks = new JTextArea();
        JScrollPane scroll = new JScrollPane(textRanks);

        JButton sumUpBtn = new JButton("rank");
        JButton exitBtn = new JButton("exit");

        JPanel pDown = new JPanel();

        public SumUp() {
            setFrame();
            addComponents();
            initBtns();
        }

        public void setFrame() {
            wholeFrame.setBounds(750, 300, 500, 500);
            cWhole.setLayout(new GridLayout(3, 1));
            wholeFrame.add(cWhole);
            wholeFrame.setVisible(true);
        }

        public void addComponents() {
            cWhole.add(pTitle);
            cWhole.add(lblTitle);
            cWhole.add(scroll);
            cWhole.add(pDown);

            pTitle.add(lblTitle);

            pDown.add(sumUpBtn);
            pDown.add(exitBtn);
        }

        public void initBtns() {
            sumUpBtn.addActionListener(this);
            exitBtn.addActionListener(this);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == sumUpBtn && disposal) {
                Login.mm.sum();
                Login.mm.sort();

                String[] s = new String[10];
                String sTitle = "number            name             class            math            English            Java            total points";

                for (int i = 0; i < Login.mm.list.size(); i++) {
                    s[i] = Login.mm.list.get(i).getNum() + "                 " + Login.mm.list.get(i).getName()
                            + "                 " + Login.mm.list.get(i).getClassName() + "                 "
                            + Login.mm.list.get(i).getMath() + "                 " + Login.mm.list.get(i).getEnglish()
                            + "                 " + Login.mm.list.get(i).getSum();
                }
                for (int i = 0; i < Login.mm.list.size(); i++) {
                    sTitle = sTitle + "\n" + s[i];
                }
                textRanks.append(sTitle);
                disposal = false;
            } else if (e.getSource() == exitBtn) {
                HomePage.hp.setVisible(true);
                wholeFrame.dispose();
            }
        }

    }
     

  • package studentmanagement;

    import java.io.Serializable;

    public class User implements Serializable {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private static String account = null;
        private static String password = null;

        public User(String account, String password) {
            User.account = account;
            User.password = password;
        }

        public static void setAccount(String account) {
            User.account = account;
        }

        public static void setPassword(String password) {
            User.password = password;
        }

        public static String getAccount() {
            return account;
        }

        public static String getPassword() {
            return password;
        }
    }
     

猜你喜欢

转载自blog.csdn.net/Stephanie17395/article/details/81702644