Java学生信息管理(Swing窗体)
- 格式:doc
- 大小:200.00 KB
- 文档页数:32
基于JAVA的学生管理系统的设计与实现学生管理系统是近年来成为教育行业必备的一种信息管理软件。
下面将介绍基于JAVA 的学生管理系统设计实现。
一、功能需求1. 学生信息管理:包括学生基本信息、课程信息、成绩信息、出勤信息等管理。
3. 课程管理:包括课程添加、修改、删除、查询等管理。
4. 成绩管理:包括成绩录入、查询、统计、导出等管理。
5. 出勤管理:包括出勤记录维护、缺勤处理、请假管理等。
二、系统设计系统采用MVC的设计模式,分为三层:视图层、控制层和数据层。
1. 数据层数据层主要负责数据库的操作,数据库采用MySQL。
主要包括学生信息表、教师信息表、课程信息表、成绩信息表、出勤信息表等。
2. 控制层控制层主要负责逻辑处理,其中包括业务逻辑和数据逻辑。
业务逻辑负责实现系统的具体功能,数据逻辑负责与数据库进行交互。
控制层采用Servlet和JSP开发。
3. 视图层视图层主要负责页面展示和用户交互,采用HTML、CSS、JavaScript等技术实现。
三、系统实现1. 系统登录学生管理系统实现了用户的登录验证,用户在登录页面输入用户名和密码,系统会验证是否正确。
2. 学生信息管理学生信息管理包括学生基本信息、课程信息、成绩信息、出勤信息等管理。
学生基本信息包括姓名、年龄、性别、学号等,课程信息包括课程名称、授课教师、学期等,成绩信息包括学生姓名、成绩、课程名称等,出勤信息包括出勤日期、缺勤情况等。
4. 课程管理课程管理包括课程添加、修改、删除、查询等管理。
管理员可以添加新的课程,也可以对已有课程进行修改或删除,同时可以查询已有的课程。
5. 成绩管理成绩管理包括成绩录入、查询、统计、导出等管理。
管理员可以录入学生的成绩,也可以查询已有的成绩,同时可以对成绩进行统计和导出。
6. 出勤管理出勤管理包括出勤记录维护、缺勤处理、请假管理等。
管理员可以维护每个学生的出勤记录,也可以对缺勤的学生进行处理,同时可以管理学生的请假情况。
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
java学生管理系统大作业代码Java学生管理系统是一个基于Java语言开发的学生信息管理系统,用于方便学校教务人员进行学生信息的管理和查询。
以下是该系统的代码实现。
1. 登录界面代码实现该界面是用户登录的入口,用户需要输入用户名和密码才能进入系统。
```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Login extends JFrame implements ActionListener {JLabel lb1, lb2, lb3;JTextField txtName;JPasswordField txtPwd;JButton btnOK, btnCancel;String userName = "admin";// 默认用户名String password = "123456";// 默认密码public Login() {setTitle("学生信息管理系统登录");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式setSize(350, 200);// 设置窗体大小setLocationRelativeTo(null);// 设置居中显示setLayout(new BorderLayout());JPanel pNorth = new JPanel();lb1 = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); lb1.setFont(new Font("微软雅黑", Font.BOLD, 20));pNorth.add(lb1);add(pNorth, BorderLayout.NORTH);JPanel pCenter = new JPanel();pCenter.setLayout(new GridLayout(3, 2));lb2 = new JLabel("用户名:", JLabel.RIGHT);pCenter.add(lb2);txtName = new JTextField(20);pCenter.add(txtName);lb3 = new JLabel("密码:", JLabel.RIGHT);pCenter.add(lb3);txtPwd = new JPasswordField(20);txtPwd.setEchoChar('*');// 设置密码框的回显字符pCenter.add(txtPwd);btnOK = new JButton("登录");pCenter.add(btnOK);btnCancel = new JButton("取消");pCenter.add(btnCancel);add(pCenter, BorderLayout.CENTER);btnOK.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);// 显示窗体}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnOK) {String name = txtName.getText();// 获取用户名String password = new String(txtPwd.getPassword());// 获取密码 if (name.equals(userName) && password.equals(password)) {setVisible(false);new MainFrame();} else {JOptionPane.showMessageDialog(Login.this, "用户名或密码错误!", "登录失败", JOptionPane.ERROR_MESSAGE);}} else if (e.getSource() == btnCancel) {txtName.setText("");txtPwd.setText("");}}public static void main(String[] args) {new Login();}}```2. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。
目录1.Client.java (2)2.LoginGUI.java (2)3.AdminGUI.java (6)4.StudentGUI.java (14)5.Select.java (17)6.UpdateAndInsert.java (24)7.Delete.java (27)8.Student.java (29)9.Administrator.java (31)1.Client.java/*程序入口*/package ms;public class Client{public static void main(String[] args){LoginGUI lg=new LoginGUI();lg.login();}}2.LoginGUI.java/*登陆主窗口*/package ms;import java.awt.BorderLayout;import java.awt.Choice;import java.awt.GridLayout;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class LoginGUI{JFrame log=null; //登陆主窗口JPanel jPanel1=null; //用于存放用户名、密码、登录方式标签JPanel jPanel2=null; //用于存放用户名、密码输入框和登录方式选择框JPanel jPanel3=null; //用于存放登陆、退出按钮JLabel jLabel1=null; //用于存放用户名标签JLabel jLabel2=null; //用于存放密码标签JLabel jLabel3=null; //用于存放登录方式标签JLabel jLabel4=null; //学生管理系统登陆标签TextField t1=null; //用于存放用户名输入TextField t2=null; //用于存放密码输入Choice c=null; //用于存放登录方式选择JButton jB1=null; //登陆按钮JButton jB2=null; //退出按钮String UserName=null; //存放用户输入的用户名String UserPassword=null; //存放用户输入的密码int UserLimit=-1; //存放用户选择登陆权限public LoginGUI(){super();this.log = new JFrame("学生学籍管理系统");this.jPanel1=new JPanel();this.jPanel2=new JPanel();this.jPanel3=new JPanel();jLabel1=new JLabel("用户名");jLabel2=new JLabel("密码");jLabel3=new JLabel("登录方式");jLabel4=new JLabel(new ImageIcon("image/login.jpg"));t1=new TextField();t2=new TextField();c=new Choice(); //创建一个登录方式下拉选择框c.add("学生登陆");c.add("管理员登陆");jB1=new JButton("登陆"); //创建登陆按钮jB2=new JButton("退出"); //创建退出按钮}public void login(){BorderLayout border=new BorderLayout();border.setVgap(15);border.setHgap(10);log.setLayout(border); //设置登陆主窗口布局管理器为BorderLayoutlog.add(jPanel1, BorderLayout.WEST);log.add(jPanel2, BorderLayout.CENTER);log.add(jPanel3, BorderLayout.SOUTH);log.add(jLabel4,BorderLayout.NORTH);jPanel1.setLayout(new GridLayout(3,1,30,20)); //3行1列jPanel2.setLayout(new GridLayout(3,1,30,20));jPanel3.setLayout(new GridLayout(1,2,10,30));jPanel1.add(jLabel1); //添加三个标签用户名、密码、登陆方式jPanel1.add(jLabel2);jPanel1.add(jLabel3);jPanel2.add(t1); //添加用户名、密码输入文本框登陆方式选择框jPanel2.add(t2);jPanel2.add(c);jPanel3.add(jB1); //添加两个按钮jPanel3.add(jB2);jB1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){erName=LoginGUI.this.t1.getText();erPassword=LoginGUI.this.t2.getText();erLimit=LoginGUI.this.c.getSelectedIndex();if(erLimit==0){StudentGUI ll=new StudentGUI(LoginGUI.this.log,erName);Select sel=new Select();sel.setStudentList();for(int i=0;i<sel.getStudentAllId().size();i++){if(sel.getStudentAllId().get(i).toString().equals(erNa me)&&sel.getStudentAllPassword().get(i).equals(erPass word)){log.setVisible(false);ll.studentGo();}else if(i==sel.getStudentAllId().size()-1){JOptionPane.showMessageDialog(LoginGUI.this.log,"用户名密码错误");}}}else if(erLimit==1){AdminGUI admin=new AdminGUI(LoginGUI.this.log);Select sel=new Select();sel.setAdminList();for(int i=0;i<sel.getAdminAllId().size();i++){if(sel.getAdminAllId().get(i).toString().equals(erNam e)&&sel.getAdminAllPassword().get(i).equals(erPasswor d)){log.setVisible(false);admin.adminGo();}else if(i==sel.getAdminAllId().size()-1){JOptionPane.showMessageDialog(LoginGUI.this.log,"用户名密码错误");}}}}});jB2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){System.exit(0);}});log.setSize(240,260);log.setLocationRelativeTo(null);log.setResizable(false);log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});log.setVisible(true);}}3.AdminGUI.java/*管理员登陆图形界面*/package ms;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class AdminGUI{JDialog log=null;//管理员登陆主窗口JPanel jp1=null;//用于存放管理员登陆标签和jp5JPanel jp2=null;//用于存放查询修改增加删除按钮JPanel jp3=null;//用于存放信息块和jp5JPanel jp4=null;//用于存放修改插入删除按钮JPanel jp5=null;//用于存放请输入学号文本框JLabel jadminLog=null; //管理员登陆标签JLabel jLabel=null; //请输入学号标签TextField tf=null; //请输入学号文本框JButton jb1=null;//查询按钮JButton jb2=null;//修改按钮JButton jb3=null;//增加按钮JButton jb4=null;//删除按钮JButton jb5=null; //列出全部学生信息TextArea ta=null;//信息文本框JLabel jl=null; //用于站位String id=null; //用于保存用户输入查询学号TextField[] jtf = new T extField[9] ;JDialog jdialog=null;public AdminGUI(JFrame log){super();this.log = new JDialog(log,"管理员登陆",true);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jadminLog=new JLabel(new ImageIcon("image/admin.jpg"));jLabel=new JLabel("请输入学号");tf=new TextField();jb1=new JButton("查询");jb2=new JButton("修改");jb3=new JButton("增加");jb4=new JButton("删除");jb5=new JButton("列出全部学生信息");ta=new TextArea("点击查询按钮将在此显示查询信息");jl=new JLabel();}public void adminGo(){BorderLayout bl=new BorderLayout();bl.setVgap(30);bl.setHgap(30);log.setLayout(bl);log.add(jp1,BorderLayout.NORTH);BorderLayout bl1=new BorderLayout();bl1.setVgap(20);jp1.setLayout(bl1);jp1.add(jadminLog,BorderLayout.CENTER);jp5.setLayout(new GridLayout(1,2,200,200));jp5.add(jLabel);jp5.add(tf);log.add(jp2,BorderLayout.WEST);jp2.setLayout(new GridLayout(2,1,200,300));jp2.add(jb1);jp2.add(jb5);log.add(jp3,BorderLayout.CENTER);jp3.setLayout(new BorderLayout(10, 10));jp3.add(jp5,BorderLayout.NORTH);jp3.add(ta);jp5.setLayout(new GridLayout(1,5,10,10));jp5.add(jLabel);jp5.add(tf);log.add(jp4,BorderLayout.SOUTH);jp4.setLayout(new GridLayout(1,3,200,30));jp4.add(jb2);jp4.add(jb3);jp4.add(jb4);log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});jb1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){AdminGUI.this.id=AdminGUI.this.tf.getText();Select sel=new Select();sel.selectStudent(AdminGUI.this.id);if(sel.getStudent()!=null){Student student=sel.getStudent();AdminGUI.this.ta.setText("学号\t\t"+"姓名\t\t"+"性别\t\t"+"出生日期\t\t"+"民族\t\t"+"籍贯\t\t"+"专业\t\t"+"班级\t\t"+"联系电话\t\t"+"密码\t\t");AdminGUI.this.ta.append("\n"+student.getId()+"\t\t"+student.getNa me()+"\t\t"+student.getSex()+"\t\t"+student.getBornDate()+"\t\t"+student.getNationality()+"\t\t"+student.getNationality()+"\t\t"+stu dent.getMaj()+"\t"+student.getCla()+"\t\t"+student.getTelNum()+"\t\t"+student.getPassword()+"\n");}else{AdminGUI.this.ta.setText("查无此人");}}});jb5.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();sel.selectAllStudent();AdminGUI.this.ta.setText("学号\t\t"+"姓名\t\t"+"性别\t\t"+"出生日期\t\t"+"民族\t\t"+"籍贯\t\t"+"专业\t\t"+"班级\t\t"+"联系电话\t\t"+"密码\t\t\n");for(int i=0;i<sel.getAllStudent().size();i++){Student student=sel.getAllStudent().get(i);AdminGUI.this.ta.append(student.getId()+"\t\t"+student.getName() +"\t\t"+student.getSex()+"\t\t"+student.getBornDate()+"\t\t"+student.getNationality()+"\t\t"+student.getHometown()+"\t\t"+st udent.getMaj()+"\t"+student.getCla()+"\t\t"+student.getTelNum()+"\t\t"+student.getPa ssword()+"\n");}}});log.setSize(850,580);log.setLocationRelativeTo(null);log.setResizable(false);jb3.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog=new JDialog(AdminGUI.this.log);String[] str=new String[]{"姓名","性别","出生日期","民族","籍贯","专业","班级","联系电话","密码"};JLabel[] jlabel=new JLabel[9];for(int i=0;i<9;i++){jlabel[i]=new JLabel(str[i]);jtf[i]=new TextField();}JPanel jpanel1=new JPanel();JPanel jpanel2=new JPanel();JButton jbutton1=new JButton("确定");JButton jbutton2=new JButton("取消");jdialog.setLayout(new BorderLayout());jdialog.add(jpanel1,BorderLayout.CENTER);jdialog.add(jpanel2,BorderLayout.SOUTH);jpanel1.setLayout(new GridLayout(9,2,10,10));for(int i=0;i<9;i++){jpanel1.add(jlabel[i]);jpanel1.add(jtf[i]);}jpanel2.add(jbutton1);jpanel2.add(jbutton2);jbutton1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Student student=new Student();student.setName(AdminGUI.this.jtf[0].getText());student.setSex(AdminGUI.this.jtf[1].getText()); student.setBornDate(AdminGUI.this.jtf[2].getText());student.setNationality(AdminGUI.this.jtf[3].getText());student.setHometown(AdminGUI.this.jtf[4].getText());student.setMaj(AdminGUI.this.jtf[5].getText());student.setCla(AdminGUI.this.jtf[6].getText());student.setTelNum(AdminGUI.this.jtf[7].getText()); student.setPassword(AdminGUI.this.jtf[8].getText());UpdateAndInsert up=new UpdateAndInsert();if(up.insertStudent(student)==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"添加成功");}jdialog.dispose();}});jbutton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog.dispose();}});jdialog.setSize(500,400);jdialog.setLocationRelativeTo(null);jdialog.setResizable(false);jdialog.setVisible(true);}});jb4.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){if(new Delete().delete(AdminGUI.this.tf.getText())==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"刪除成功");}elseJOptionPane.showMessageDialog(AdminGUI.this.log,"刪除失敗");}});jb2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();AdminGUI.this.id=AdminGUI.this.tf.getText();sel.selectStudent(AdminGUI.this.tf.getText());Student student=sel.getStudent();if(student==null){JOptionPane.showMessageDialog(AdminGUI.this.log,"请检查输入的学号");}else{jdialog=new JDialog(AdminGUI.this.log);String[] str=new String[]{"姓名","性别","出生日期","民族","籍贯","专业","班级","联系电话","密码"};JLabel[] jlabel=new JLabel[9];for(int i=0;i<9;i++){jlabel[i]=new JLabel(str[i]);}jtf[0]=new TextField(student.getName());jtf[1]=new TextField(student.getSex());jtf[2]=new TextField(student.getBornDate());jtf[3]=new TextField(student.getNationality());jtf[4]=new TextField(student.getHometown());jtf[5]=new TextField(student.getMaj());jtf[6]=new TextField(student.getCla());jtf[7]=new TextField(student.getTelNum());jtf[8]=new TextField(student.getPassword());JPanel jpanel1=new JPanel();JPanel jpanel2=new JPanel();JButton jbutton1=new JButton("确定");JButton jbutton2=new JButton("取消");jdialog.setLayout(new BorderLayout());jdialog.add(jpanel1,BorderLayout.CENTER);jdialog.add(jpanel2,BorderLayout.SOUTH);jpanel1.setLayout(new GridLayout(9,2,10,10));for(int i=0;i<9;i++){jpanel1.add(jlabel[i]);jpanel1.add(jtf[i]);}jpanel2.add(jbutton1);jpanel2.add(jbutton2);jbutton1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Student student=new Student(Integer.parseInt(AdminGUI.this.id), jtf[0].getText(), jtf[1].getText(), jtf[2].getText(), jtf[3].getText(), jtf[4].getText(), jtf[5].getText(), jtf[6].getText(), jtf[7].getText(), jtf[8].getText());UpdateAndInsert up=new UpdateAndInsert();if(up.updateStudent(student)==true){JOptionPane.showMessageDialog(AdminGUI.this.log,"更改成功");;}jdialog.dispose();}});jbutton2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){jdialog.dispose();}});jdialog.setSize(500,400);jdialog.setLocationRelativeTo(null);jdialog.setResizable(false);jdialog.setVisible(true);}}});log.setVisible(true);}}4.StudentGUI.java/*学生操作图形界面*/package ms;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.TextField;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class StudentGUI{JDialog log=null;//学生登入类主窗口JPanel jp1=null;//用于存放登入块JPanel jp2=null;//用于存放信息块JPanel jp3=null;//用于密码存放修改块JPanel jp4=null;//用于存放我的信息按钮JLabel jl1=null;//学生登入标签JLabel jl2=null;//学号标签JLabel jl3=null;//学生姓名标签JLabel jl4=null;//性别标签JLabel jl5=null;//出生日期标签JLabel jl6=null;//民族标签JLabel jl7=null;//籍贯标签JLabel jl8=null;//专业标签JLabel jl9=null;//班级标签JLabel jl10=null;//联系电话标签JLabel jl11=null;//请输入密码标签JButton jb1=null;//我的信息按钮JButton jb2=null;//密码修改按钮TextField t1=null;//学号文本框TextField t2=null;//学生姓名文本框TextField t3=null;//性别文本框TextField t4=null;//出生日期文本框TextField t5=null;//民族文本框TextField t6=null;//籍贯文本框TextField t7=null;//专业文本框TextField t8=null;//班级文本框TextField t9=null;//联系电话文本框TextField t10=null;//密码文本框JPanel jp5=new JPanel();//存放密码输入框String id=null;public StudentGUI(JFrame log,String str){super();this.log = new JDialog(log,"学生登入",true);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jl1=new JLabel(new ImageIcon("image/student.jpg"));jl2=new JLabel("学号:");jl3=new JLabel("学生姓名:");jl4=new JLabel("性别:");jl5=new JLabel("出生日期:");jl6=new JLabel("民族:");jl7=new JLabel("籍贯:");jl8=new JLabel("专业:");jl9=new JLabel("班级:");jl10=new JLabel("联系电话:");jl11=new JLabel("请输入新密码:");jb1=new JButton("我的信息");jb2=new JButton("密码修改");t1=new TextField();t2=new TextField();t3=new TextField();t4=new TextField();t5=new TextField();t6=new TextField();t7=new TextField();t8=new TextField();t9=new TextField();t10=new TextField();this.id=str;}public void studentGo(){BorderLayout bl=new BorderLayout();bl.setHgap(30);bl.setVgap(30);log.setLayout(bl);log.add(jp1,BorderLayout.NORTH);//将登入块信息块密码修改块放入主窗口log.add(jp2,BorderLayout.CENTER);log.add(jp3,BorderLayout.SOUTH);log.add(jp4,BorderLayout.WEST);jp1.add(jl1,BorderLayout.CENTER);jp2.setLayout(new GridLayout(5,2,20,10));jp2.add(jl2);jp2.add(t1);jp2.add(jl3);jp2.add(t2);jp2.add(jl4);jp2.add(t3);jp2.add(jl5);jp2.add(t4);jp2.add(jl6);jp2.add(t5);jp2.add(jl7);jp2.add(t6);jp2.add(jl8);jp2.add(t7);jp2.add(jl9);jp2.add(t8);jp2.add(jl10);jp2.add(t9);jp4.add(jb1);BorderLayout bl1=new BorderLayout();bl1.setHgap(38);jp3.setLayout(bl1);jp3.add(jb2,BorderLayout.WEST);jp3.add(jp5,BorderLayout.CENTER);jp5.setLayout(new GridLayout());jp5.add(jl11);jp5.add(t10);jb1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){Select sel=new Select();sel.selectStudent(id);Student student=sel.getStudent();t1.setText(new Integer(student.getId()).toString());t2.setText(student.getName());t3.setText(student.getSex());t4.setText(student.getBornDate());t5.setText(student.getNationality());t6.setText(student.getHometown());t7.setText(student.getMaj());t8.setText(student.getCla());t9.setText(student.getTelNum());}});jb2.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e){String password=StudentGUI.this.t10.getText();UpdateAndInsert up=new UpdateAndInsert();if(up.updatePassword(id, password)==true){JOptionPane.showMessageDialog(StudentGUI.this.log,"修改成功");}}});log.addWindowListener(new WindowAdapter(){@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});log.setSize(550,420);log.setLocationRelativeTo(null);log.setResizable(false);log.setVisible(true);}}5.Select.java/* 查询类包括查询的各种方法*/package ms;import java.sql.*;import java.util.LinkedList;public class Select{private LinkedList<Integer> studentAllId=null;private LinkedList<String> studentAllPassword=null;private LinkedList<Integer> adminAllId=null;private LinkedList<String> adminAllPassword=null;private Student student=null;private LinkedList<Student> allStudent=null;// 定义MySQL的数据库驱动程序public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;// 定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://localhost:3306/studentMS" ;// MySQL数据库的连接用户名public static final String DBUSER = "root" ;// MySQL数据库的连接密码public static final String DBPASS = "systemout" ;public Select(){super();this.studentAllId = new LinkedList<Integer>();this.studentAllPassword = new LinkedList<String>();this.adminAllId = new LinkedList<Integer>();this.adminAllPassword = new LinkedList<String>();this.allStudent = new LinkedList<Student>();}public LinkedList<Integer> getStudentAllId(){return studentAllId;}public LinkedList<String> getStudentAllPassword(){return studentAllPassword;}public LinkedList<Integer> getAdminAllId(){return adminAllId;}public LinkedList<String> getAdminAllPassword(){return adminAllPassword;}public Student getStudent(){return student;}public LinkedList<Student> getAllStudent(){return allStudent;}public void setStudentList() //设置studentAllId 和studentAllPassword{Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select id,password from student";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{stmt = conn.createStatement() ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = stmt.executeQuery(sql) ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){studentAllId.add(rs.getInt(1));studentAllPassword.add(rs.getString(2));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;stmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}public void setAdminList(){Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select id,password from admin";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{stmt = conn.createStatement() ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = stmt.executeQuery(sql) ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){adminAllId.add(rs.getInt(1));adminAllPassword.add(rs.getString(2));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;stmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}public boolean selectStudent(String str){Connection conn = null ; // 数据库连接PreparedStatement pstmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select name,sex,bornDate,nationality,hometown,maj,cla,telNum,password "+ "from student where id=?";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{pstmt = conn.prepareStatement(sql) ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{pstmt.setString(1, str);} catch (SQLException e2){e2.printStackTrace();}try{rs = pstmt.executeQuery() ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){student=new Student(Integer.parseInt(str),rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9));}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;pstmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}if(student !=null){return true;}else{return false;}}public void selectAllStudent(){Connection conn = null ; // 数据库连接PreparedStatement pstmt = null ; // 数据库的操作对象ResultSet rs = null ; // 保存查询结果String sql = "select * "+"from student";try{Class.forName(DBDRIVER) ; // 加载驱动程序}catch(ClassNotFoundException e){e.printStackTrace() ;}try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;}catch(SQLException e){e.printStackTrace() ;}try{pstmt = conn.prepareStatement(sql) ; //得到stmt对象用于执行sql语句} catch (SQLException e1){e1.printStackTrace();}try{rs = pstmt.executeQuery() ;//保存sql查询结果} catch (SQLException e1){e1.printStackTrace();}try{while(rs.next()){student=new Student(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getString(10));allStudent.add(student);}} catch (SQLException e1){e1.printStackTrace();}try{rs.close() ;pstmt.close() ;conn.close() ; // 数据库关闭}catch(SQLException e){e.printStackTrace() ;}}}6.UpdateAndInsert.java/*修改&&插入类定义了修改和插入的所有方法*/package ms;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class UpdateAndInsert{// 定义MySQL的数据库驱动程序public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;// 定义MySQL数据库的连接地址public static final String DBURL = "jdbc:mysql://localhost:3306/studentMS" ;// MySQL数据库的连接用户名public static final String DBUSER = "root" ;// MySQL数据库的连接密码public static final String DBPASS = "systemout" ;public boolean insertStudent (Student student){String name=student.getName();String sex=student.getSex();String bornDate=student.getBornDate();String nationality=student.getNationality();String hometown=student.getHometown();String maj=student.getMaj();String cla=student.getCla();String telNum=student.getTelNum();String password=student.getPassword();Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库操作try{Class.forName(DBDRIVER) ;} catch (ClassNotFoundException e){// TODO Auto-generated catch blocke.printStackTrace();} // 加载驱动程序String sql = "INSERT INTO student(name,sex,bornDate,nationality,hometown,maj,cla,telNum,passw ord) "+" VALUES('"+name+"','"+sex+"','"+bornDate+"','"+nationality+"','"+hometown+"' ,'"+maj+"','"+cla+"','"+telNum+"','"+password+"')";try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}try{stmt = conn.createStatement() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 实例化Statement对象try{stmt.executeUpdate(sql) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 执行数据库更新操作try{stmt.close() ; // 关闭操作conn.close() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 数据库关闭return true;}public boolean updateStudent(Student student){Select sel=new Select();if(sel.selectStudent(newInteger(student.getId()).toString())==false){return false;}Connection conn = null ; // 数据库连接Statement stmt = null ; // 数据库操作String name=student.getName();String sex=student.getSex();String bornDate=student.getBornDate();String nationality=student.getNationality();String hometown =student.getHometown();String maj=student.getMaj();String cla=student.getCla();String telNum=student.getTelNum();String password=student.getPassword();String sql="UPDATE student SET name='"+name+"',sex='"+sex+"',bornDate='"+bornDate+"',nationality ='"+nationality+"',hometown='"+hometown+"',maj='"+maj+"',cla='"+c la+"',telNum='"+telNum+"',password='"+password+"' WHERE id="+student.getId() ;try{conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;} catch (SQLException e1){// TODO Auto-generated catch blocke1.printStackTrace();}try{stmt = conn.createStatement() ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 实例化Statement对象try{stmt.executeUpdate(sql) ;} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();} // 执行数据库更新操作try{stmt.close() ; // 关闭操作conn.close() ; // 数据库关闭} catch (SQLException e){// TODO Auto-generated catch blocke.printStackTrace();}return true;}。
Java学生成绩管理系统报告简介本文将介绍一个基于Java开发的学生成绩管理系统。
该系统旨在帮助学校和教师高效管理学生的成绩信息,包括录入、查询、统计和分析等功能。
开发环境和工具•Java编程语言•IntelliJ IDEA集成开发环境•MySQL数据库功能需求1. 学生信息管理•录入学生信息,包括学生姓名、学号、性别等基本信息。
•修改学生信息,如学号、班级等。
•删除学生信息。
2. 成绩录入和查询•录入学生的考试成绩,包括科目、分数、考试日期等。
•查询学生的考试成绩,可按照学生姓名、学号、科目等进行检索。
3. 成绩统计和分析•对学生的考试成绩进行统计,包括平均分、最高分、最低分等。
•根据科目、班级等条件进行成绩分析,生成成绩报表。
4. 数据备份与恢复•对学生信息和成绩数据进行备份,以防数据丢失或损坏。
•支持从备份中恢复数据。
数据库设计学生表(student)字段名类型备注学号int 主键姓名varchar(50)性别varchar(10)班级varchar(50)成绩表(score)字段名类型备注学号int 外键科目varchar(50)分数float考试日期date系统架构本系统采用Java MVC(Model-View-Controller)架构模式进行设计和开发。
•Model层:负责数据的处理和存储,包括与数据库的交互。
•View层:负责用户界面的展示和交互,使用Swing或JavaFX等GUI 库进行开发。
•Controller层:负责接收用户的请求,调用对应的Model方法进行数据处理,并更新View层的显示。
开发步骤1. 数据库连接和表设计使用JDBC连接MySQL数据库,并创建上述的学生表和成绩表。
2. 学生信息管理模块开发•创建学生类(Student)和学生管理类(StudentManager)。
•实现学生信息的录入、修改和删除功能。
3. 成绩录入和查询模块开发•创建成绩类(Score)和成绩管理类(ScoreManager)。
学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。
它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。
Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。
本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。
用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。
在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。
权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。
在Java中,可以使用角色-权限模型来实现权限管理。
每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。
通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。
学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。
在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。
通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。
学生信息查询学生信息查询是系统的核心功能之一。
用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。
在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。
成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。
教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。
在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。
通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。
JAVA-面向对象程序设计-学生个人信息管理系统软件学院课程设计报告书课程名称面向对象程序设计设计题目学生个人信息管理系统专业班级嵌入式软件09-2学号**********姓名王翀指导教师2011 年6 月目录1 设计时间 (5)2 设计目的 (5)3设计任务 (5)4 设计内容 (5)4.1需求分析 (5)4.1.1问题描述 (5)4.1.2基本要求 (5)4.2总体设计 (6)4.2.1包的描述 (9)4.2.2类的描述 (10)4.2.3类之间的关系 (10)类MainTest继承JFrame。
(10)类jenter实现接口ActionListener。
(10)4.3 详细设计 (10)4.3.1类图 (14)4.3.2页面设计 (14)4.4 测试与分析 (15)4.5 程序代码 (17)5 总结与展望 (32)参考文献 (32)课程设计成绩评定 (34)1 设计时间2012年6月13日——6月19日2 设计目的《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。
其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力3设计任务设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用文件存储数据。
(也可用数据库)(4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。
4 设计内容4.1需求分析学生管理系统需要对学生的基本信息进行简单的录入,查询,修改三项基本功能。
具体实现使用Access2003数据库实现基本操作,前台窗口使用GUI编程创建图形界面,对图形界面的窗口和按钮进行事件监听,执行相应的SQL语句。
学生信息管理系统课程设计 java一、课程目标知识目标:1. 让学生理解学生信息管理系统的基本概念,掌握Java语言实现该系统的核心知识,包括类的定义、对象的使用、集合框架等。
2. 使学生掌握如何使用Java编写数据库连接程序,实现对数据库的增、删、改、查等基本操作。
3. 帮助学生了解Java GUI编程,能够使用Swing组件设计出友好的用户界面。
技能目标:1. 培养学生运用Java语言设计并实现学生信息管理系统,提高编程实践能力。
2. 培养学生分析问题、解决问题的能力,能够根据需求独立完成系统功能模块的设计与实现。
3. 培养学生具备一定的项目开发经验,能够进行团队合作,分工协作完成项目。
情感态度价值观目标:1. 激发学生对Java编程的兴趣,培养其主动学习的习惯,提高学习积极性。
2. 培养学生具备良好的编程习惯,注重代码规范,提高代码质量。
3. 培养学生的团队协作意识,使其认识到团队协作的重要性,学会与他人共同解决问题。
课程性质:本课程为实践性较强的Java语言课程,以项目驱动的方式进行教学,旨在提高学生的编程能力、项目开发能力和团队协作能力。
学生特点:学生已具备一定的Java基础,具有一定的编程能力,但缺乏实际项目经验和团队协作能力。
教学要求:结合学生特点,注重实践操作,引导学生主动参与,充分调动学生的积极性,培养其编程实践和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基础回顾:包括类与对象、继承与多态、集合框架等基础知识,对应教材第一章至第四章。
- 类与对象:定义类、创建对象、封装、构造方法等。
- 继承与多态:继承的概念、方法重写、多态性等。
- 集合框架:常用集合类、迭代器、泛型等。
2. 数据库连接与操作:学习JDBC技术,实现与数据库的连接、数据查询、插入、删除和修改操作,对应教材第五章。
- JDBC概念与使用:理解JDBC的作用,掌握JDBC API的使用。
java swing开发案例1. 计算器应用程序该应用程序使用Java Swing开发,实现了一个简单的计算器功能。
用户可以输入数字和运算符,并通过按下相应的按钮来执行计算操作。
应用程序会将计算结果显示在屏幕上,并允许用户清除当前计算或进行新的计算。
2. 学生成绩管理系统该应用程序使用Java Swing开发,可以帮助学校或老师管理学生的成绩信息。
用户可以添加新的学生、编辑学生信息、输入学生成绩,并可以通过查询功能来查找特定学生的成绩。
应用程序还可以生成成绩报告,以便用户进行分析和评估。
3. 文件浏览器这个应用程序使用Java Swing开发,模拟了一个简单的文件浏览器。
用户可以浏览计算机上的文件和文件夹,并可以通过点击相应的按钮来打开或删除文件。
应用程序还提供了搜索功能,以便用户可以快速找到所需的文件。
4. 图片编辑器这个应用程序使用Java Swing开发,可以帮助用户编辑和处理图片。
用户可以打开图片文件、调整亮度、对比度和饱和度,并可以进行裁剪、旋转和缩放操作。
应用程序还提供了一些滤镜效果,如黑白、模糊和怀旧效果。
5. 音乐播放器这个应用程序使用Java Swing开发,可以帮助用户播放本地音乐文件。
用户可以选择音乐文件并通过点击播放按钮来播放音乐。
应用程序还提供了控制音乐播放的功能,如暂停、停止和调整音量。
6. 电子邮件客户端这个应用程序使用Java Swing开发,可以帮助用户发送和接收电子邮件。
用户可以登录到他们的电子邮件账户,并可以编写和发送电子邮件。
应用程序还可以从服务器上接收新的电子邮件,并将它们显示在收件箱中。
7. 聊天应用程序这个应用程序使用Java Swing开发,可以帮助用户进行在线聊天。
用户可以登录到他们的聊天账户,并可以与其他在线用户进行实时聊天。
应用程序还提供了一些附加功能,如发送文件和创建群聊。
8. 天气预报应用程序这个应用程序使用Java Swing开发,可以帮助用户获取实时天气信息。
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
学生信息管理摘要随着计算机技术日渐成熟,它已经进入人类社会的各个领域并发挥着越来越重要的作用。
而在我们的生活周边,也越来越能够感受到计算机技术给我们带来的巨大冲击和快捷。
作为计算机应用的一部分,学校使用计算机对学校的学生的信息进行管理,与手工管理相比拥有其无可比拟的优势。
例如:检索快速、查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。
这些优点能够极大地提高学校学生信息管理的效率,也是学校管理科学化、正规化的重要条件和标志。
学生管理系统采用现在流行的JAVA编程语言来进行开发的。
在系统界面开发中采用流行的JAVA API之一JAVA SWING来对系统的界面进行设计,布局以及开发。
系统界面图形化,操作简单明了,容易上手。
在数据处理方面,此系统采用JAVABEAN来封装对数据的操作,提高了安全性。
同时,系统采用SQL SERVER 2000数据库系统来支持该系统的数据操作,能够更加有效地、方便地处理系统的数据。
系统的实现是多种技术的结合,图形化的操作界面使系统设计更具人性化,适合各类管理层用户使用。
关键字:学生管理系统;JAVA;JAVA SWING;JAVABEAN;图形化操作;数据处理;SQL SERVER 2000第一章概述1.1系统的特点与开发的预期目标1.1.1系统的开发背景学生管理系统是一个学校不可或缺的一部分,它的存在无论是对学校管理者还是学生来说都是至关重要的,所以学生管理系统应该能够为管理者提供充足的信息和快捷的查询手段。
然而长期以来,学校基本上都是使用传统人工的方式来管理学生课程信息。
而这种传统的管理方式随着科学技术的发展也渐渐的显现出效率低下、保密性差的弊端。
另外,随着时间的不断增长将会产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事劳资信息进行管理,具有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
Java编写学生管理系统出现的问题及解决方案介绍学生管理系统是一个广泛应用于学校和教育机构的软件工具,它能够帮助管理学生的信息、课程安排、成绩记录等。
Java是一个功能强大的编程语言,被广泛用于开发学生管理系统。
然而,在开发和维护学生管理系统时,会面临一些常见的问题。
本文将讨论这些问题,并提供一些解决方案。
问题一:数据存储和访问学生管理系统需要存储大量的学生信息、课程安排、成绩记录等数据。
在Java 中,可以使用关系型数据库如MySQL或非关系型数据库如MongoDB来存储数据。
然而,如果不合理地设计数据库结构或不正确地使用数据库查询语言,就会导致系统的性能下降和数据不一致的问题。
解决方案: - 合理设计数据库结构:根据实际需求,将学生信息、课程信息等拆分为不同的表,使用外键关联这些表,避免数据冗余和不一致。
- 使用索引:为常用的查询字段添加索引,以提高查询性能。
- 编写高效的查询语句:尽量避免全表扫描,使用合适的查询条件和优化器提示,以减少查询时间。
问题二:性能问题随着学生数量和数据量的增加,学生管理系统可能面临性能瓶颈。
例如,查询学生信息、计算成绩排名等操作可能变得缓慢,影响用户体验。
解决方案: - 优化数据库查询:合理使用索引、避免全表扫描,并对常用的查询语句进行性能测试和调优。
- 缓存数据:将一些常用的数据缓存在内存中,如课程列表、学生信息等,减少数据库访问次数,提高系统响应速度。
- 异步处理:将耗时的操作如成绩计算、排名生成等放到后台线程中处理,防止主线程阻塞,提高系统的并发处理能力。
问题三:系统安全性学生管理系统中包含大量敏感的学生信息,如姓名、学号、成绩等。
因此,系统的安全性是至关重要的。
如果未能妥善保护这些敏感数据,可能会导致数据泄露和滥用的风险。
解决方案: - 数据加密:对存储在数据库中的敏感数据进行加密处理,确保即使数据库被非法访问,也无法获取真实数据。
- 用户认证和授权:使用安全的身份验证机制,如基于角色的访问控制,确保只有经过授权的用户可以访问敏感数据。
package xsgl;import java.awt。
*;import java.awt。
event。
*;import java。
sql。
*;import java。
util.*;import javax。
swing。
*;import java。
util。
Vector;import javax.swing。
table.*;import java。
awt。
event.*;public class Xsglxt extends JFrame implements ActionListener//继承JFrame 并实现接口ActionListener{JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1; //定义表格对象JScrollPane gd1;Xsxx xsxx2;//定义Xsxx类的一个对象xsxx2 public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt() //XSGLXT构造方法,用于对象初始化。
{mb1=new JPanel();bq1=new JLabel(”请输入姓名”);wbk1=new JTextField(10);an1=new JButton(”查询”);an1.addActionListener(this); //对按钮1添加监听an1。
setActionCommand(”chaxun”);//设置按钮1的监听信息mb1.add(bq1);mb1.add(wbk1); mb1.add(an1);mb2=new JPanel();an2=new JButton("添加”);an2。
addActionListener(this);an2。
setActionCommand("tianjia”);an3=new JButton(”修改”);an3.addActionListener(this);an3。
学生信息管理系统java课程设计代码学生信息管理系统Java课程设计代码一、引言学生信息管理系统是一种方便、高效的信息管理工具,可以帮助学校或教育机构管理学生的个人信息、学籍信息等。
本文将介绍一个基于Java语言的学生信息管理系统的设计代码。
二、系统设计1. 需求分析学生信息管理系统需要满足以下需求:- 学生信息的录入、修改和删除- 学生信息的查询和显示- 学生成绩的录入、修改和查询- 学生课表的查询和显示- 学生考勤情况的记录和查询2. 数据库设计系统需要设计学生信息、学生成绩、课程表和考勤情况等相关数据库表。
每个表需要定义相应的字段,如学生姓名、学号、性别、年龄等。
3. 界面设计系统需要设计用户友好的界面,方便用户进行操作。
可以使用JavaSwing等图形界面库进行开发,界面要清晰、美观,并提供相应的按钮和输入框供用户使用。
4. 功能实现系统的功能实现需要编写相应的Java代码。
可以使用面向对象的编程思想,将学生、成绩、课程表和考勤等信息封装成对象,通过调用对象的方法来完成相应的操作。
5. 数据库连接系统需要与数据库进行连接,使用Java JDBC等技术来实现数据库的增删改查操作。
可以使用MySQL等关系型数据库管理系统。
6. 用户权限管理系统可以设计管理员和普通用户两种角色,管理员具有录入、修改和删除学生信息的权限,普通用户只能查询和显示学生信息。
三、代码实现以下是一个简单的学生信息管理系统的Java代码示例:```javaimport java.sql.*;import javax.swing.*;public class StudentManagementSystem {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/student_db";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static void main(String[] args) {// 连接数据库Connection conn = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败!");System.exit(0);}// 界面初始化JFrame frame = new JFrame("学生信息管理系统");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JPanel panel = new JPanel();JLabel label = new JLabel("学生信息管理系统");panel.add(label);frame.add(panel);// 显示界面frame.setVisible(true);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。
创建一个简单的Java Web学生信息管理应用是一个涉及多个步骤的过程。
下面是一个简化的步骤指南,使用IntelliJ IDEA作为IDE:安装和设置IDEA:下载并安装IntelliJ IDEA。
安装必要的插件,例如,如果你要使用MySQL作为数据库,需要安装“Database”插件。
创建新的Java项目:打开IDEA,选择“Create New Project”。
选择“Java”作为项目类型。
选择合适的SDK版本。
设置项目结构:在项目中创建一个新的目录结构来存放Web应用的组件。
通常会有src/main/java存放Java源代码,src/main/webapp存放Web资源(HTML, CSS, JavaScript等),src/main/resources存放配置文件等。
添加依赖:如果你使用Maven或Gradle,在相应的配置文件中添加必要的依赖,例如,用于连接数据库的驱动程序和用于Web开发的框架(如Servlet, JSP等)。
创建数据库:配置数据库连接。
你可以选择一个数据库管理系统(如MySQL, PostgreSQL等),并为其创建一个数据库。
在IDEA 中创建一个新的数据库连接配置。
创建实体类:在Java项目中创建一个新的Java类来表示学生信息。
这个类将包含学生的属性(如姓名,年龄,学号等)以及相关的getter和setter 方法。
创建DAO层:创建一个数据访问对象(DAO)层来处理与数据库的交互。
DAO将包含方法来执行CRUD操作(创建,读取,更新,删除)。
创建Controller层:创建一个控制器层来处理来自Web的请求和响应。
控制器将调用DAO层的方法来处理数据,并返回结果给前端。
创建前端页面:在Web资源目录中创建HTML、CSS和JavaScript文件来显示和接收用户输入。
你可能还需要使用一些前端框架来帮助处理复杂的用户界面。
测试和调试:在开发过程中不断测试和调试你的应用以确保所有功能都按预期工作。
JAVA程序设计课程设计大作业Java学生管理系统(一)Java学生管理系统是一款面向学生的信息管理软件,全面展示学生各个方面的信息。
随着信息技术的不断进步,学生管理系统已经成为学校教育管理中必不可少的一部分。
随着学生数量的增长以及学校管理的需要,对于管理系统的需求也越来越高,要求系统更加智能化、快捷化和便捷化。
Java程序设计课程设计大作业Java学生管理系统也是为此而生。
Java学生管理系统主要是为了解决学校学生的管理问题而设计的。
学生管理系统可以对学生的各项信息进行统一管理,包括学生的个人信息、学籍信息、社团信息、成绩信息、荣誉信息等。
这些数据可以随时查询,以方便老师、家长、学生等人根据需求查看、修改等操作。
Java学生管理系统中包含多个模块,主要包括学生信息模块、课程信息模块、成绩信息模块、荣誉信息模块以及社团信息模块。
在学生信息模块中,管理员可以添加、修改、查询和删除学生的个人信息。
在课程信息模块中,管理员可以添加、修改、查询和删除课程的信息。
在成绩信息模块中,管理员可以添加、修改、查询和删除学生的成绩信息。
在荣誉信息模块中,管理员可以查询学生的荣誉信息。
在社团信息模块中,管理员可以查询学生所在的社团信息。
Java学生管理系统还包括了多种安全机制,如登录验证、权限控制等。
只有管理员才能登录系统,并通过权限控制访问特定的模块,保证了系统的安全性。
Java学生管理系统设计的核心是系统的数据结构以及数据的交互方式。
在系统中,数据是以树状结构组织起来的,各个节点之间通过指针相连。
这种数据结构的形式可以降低系统的复杂度,并使得系统更加易于管理。
总之,Java程序设计课程设计大作业Java学生管理系统是一款高效、简便、安全的学生信息管理系统。
它可以满足学校管理的需求,为了更好地适应学校管理的需要,将不断进行完善和升级。
它对于学校管理和教育工作者都是非常有益的,为了使得学校管理更加高效、自动化,推动学校信息化建设的发展。
java学生管理系统设计说明书《Java学生管理系统设计说明书》一、引言学生管理系统是针对学校或教育机构的一种信息管理系统,用于管理学生的基本信息、课程信息、成绩信息等。
本文将详细介绍一个基于Java语言开发的学生管理系统的设计和实现。
二、系统需求分析1. 功能需求:(1) 学生信息管理:包括学生的基本信息(学号、姓名、性别、年龄等)的录入、修改、删除和查询功能。
(2) 课程信息管理:包括课程的录入、修改、删除和查询功能。
(3) 成绩管理:包括学生的成绩录入、查询和统计功能。
(4) 数据报表生成:包括学生基本信息报表、课程信息报表和成绩报表的生成功能。
2. 性能需求:(1) 系统响应速度要快,用户在进行操作时不会出现明显的卡顿现象。
(2) 系统要能够处理大量的数据,保证数据的准确性和完整性。
3. 可靠性需求:(1) 系统要具备数据备份和恢复功能,以防数据丢失或损坏。
(2) 系统要能够处理异常情况,保证系统的稳定性和可靠性。
三、系统设计1. 系统结构设计:(1) 前端界面:使用Java Swing或JavaFX等图形界面库实现用户交互界面,包括菜单、按钮、文本框等组件。
(2) 后端逻辑:使用Java编程语言实现系统的各项功能,包括数据的增删改查、数据的统计和报表的生成等。
(3) 数据库:使用关系型数据库(如MySQL、Oracle等)存储学生信息、课程信息和成绩信息等。
2. 系统模块设计:(1) 学生信息管理模块:实现学生信息的录入、修改、删除和查询功能。
(2) 课程信息管理模块:实现课程信息的录入、修改、删除和查询功能。
(3) 成绩管理模块:实现学生成绩的录入、查询和统计功能。
(4) 数据报表生成模块:实现学生基本信息报表、课程信息报表和成绩报表的生成功能。
3. 系统接口设计:(1) 用户界面接口:通过菜单、按钮等用户界面组件与用户进行交互,接收用户输入的指令。
(2) 数据库接口:通过Java JDBC等数据库访问方式与数据库进行交互,实现数据的增删改查操作。
实验名称:实验5:综合性程序设计—简单学生信息管理系统班级:***** 姓名:Zzz 学号:20151601****一、实验目的二、实验内容与结果(1)任务描述(1.3与1.4二选一,建议选择1.4)利用课程所学知识,设计并实现一个简单学生信息管理系统,要求如下:1.1 声明Student类,该类实现Serializable接口以表明该类可以进行序列化。
该类有姓名、学号(long),math、os、java用来存放对应的成绩,在构造方法中进行姓名、学号、课程成绩的赋值。
Override由Object继承来的toString方法以便以友好格式显示自己的属性,格式为:张三12 os:90 java:90 math: 90。
1.2 建立一个类,利用数据库来存储多个Student,写完一个方法在main中写一段测试代码,运行以保证目前所做工作的正确性。
有以下方法:add(Student stu):可以增加新的学生,并保存在数据库中。
update(Student stu):可以修改特定的学生,并保存在数据库中。
dispAll():可以显示所有的学生信息。
findById(long id):可以按照学号来查找,并显示符合条件的学生信息,查无该人的话显示错误信息。
findByName(String name):可以按照姓名查找学生,找到后显示其信息,查无此人显示错误信息。
delById(long id):可以按照id删除学生的信息,然后显示找到该人。
若查无此人,显示相应的错误信息。
1.3 (控制台方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。
1.4 (Swing窗体方式)完善应用程序,实现相应的功能如下:添加学生信息、修改指定学号的学生信息、显示所有学生信息、按学号查找、按姓名查找、按学号删除、按成绩排序和退出。
(2)处理思路及关键技术说明(3)程序完整源码(要求格式规范,适当注释)(4)运行结果截图(按每个操作分别截图)(2)处理思路及关键技术说明分三个模块:一是 jdbc的代码,另一个是 Swing和AWT的代码,剩下是Student类。
Jdbc 一共有两个类:DBUtil(连接工具类)和Sql类(处理jdbc功能的静态方法)Swing 和AWT一个有两个类:MyJFrame构建总窗口,MyJPanel 对窗口内的面板行修饰。
然后就是Student类和Main主方法类。
关键部分:1)在主窗体中add三个Jpanel,底层和第二层左右三个,右边的Jpanel实现cardLayout 布局,左边的Jpanel添加按钮并添加ActionListener来实现对象的card切换达到不同按钮进入不同功能面板的目的。
2)在MyJPanel类中,所有的init方法均传递参数JPanel p,对传递过来的Panel进行加工修饰,并且调用Sql里面对应功能的方法。
3)Sql中的显示全部信息的方法中使用了ArrayList来存储从studenttbl中读取的对象信息,存储之后为了按照String的方式显示在JtextArea中,又用了listToString方法,通过for循环并追加回车,使每个对象都转化为String并在后面加上了回车(separator),4)在Sql中的查找,删除,添加都使用了jdbc中的预处理PreparedStatement在操作完毕后执行sts.executeUpdate();5)在Sql排序方法中,把所有的信息都存储到list中以后,调用工具类Collections.sort:根据指定比较器产生的顺序对指定列表进行排序。
(3)程序完整源码(要求格式规范,适当注释)class DBUtilpackage test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil {private static String driver;private static String url;private static String username;private static String password;static {driver="com.mysql.jdbc.Driver";url="jdbc:mysql://localhost:3306/mydb";username="root";password="123456";}public static Connection open(){try {Class.forName(driver);return DriverManager.getConnection(url,username,password);}catch (Exception e) {e.printStackTrace();}return null;}public static void close(Connection conn){if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}class Sqlpackage test;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Collections;import parator;import java.util.List;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextArea;public class Sql {public static String listToString(List<Student> list, char separator) {//使list返回String类型并加入控制符(换行)StringBuilder sb = new StringBuilder();for (int i = 0; i < list.size(); i++) {sb.append(list.get(i)).append(separator); }return sb.toString().substring(0,sb.toString().length()-1);}public static List<Student> disAll() {//打印显示所有信息//查询Connection conn=DBUtil.open();String sql="select id,name,frctionJava,fractionMath,fractionOS from studentTbl";Statement stmt;try {stmt = conn.createStatement();ResultSet rs=stmt.executeQuery(sql);List<Student> list=new ArrayList<Student>();//遍历操作while(rs.next()){int id=rs.getInt(1);String name=rs.getString(2);double a=rs.getDouble(3);double b=rs.getDouble(4);double c=rs.getDouble(5);Student u=new Student();u.setId(id);u.setName(name);u.setFractionJava(a);u.setFractionMath(b);u.setFractionOS(c);list.add(u);}conn.close();return list;} catch (SQLException e) {e.printStackTrace();}return null;}public static void FindByID(long id ,JLabel lblNewLabel ){//按ID查找Connection conn=DBUtil.open();ResultSet rs = null;try {String sql="select * from StudentTbl where id=?";PreparedStatement sts=conn.prepareStatement(sql);sts.setLong(1, id);rs=sts.executeQuery();while(rs.next()){int i=rs.getInt(1);String name=rs.getString(2);double a=rs.getDouble(3);double b=rs.getDouble(4);double c=rs.getDouble(5);lblNewLabel.setText(" | "+i+" | "+name+" | "+a+" | "+b+" | "+c);}}catch(Exception e) {e.printStackTrace();}finally{try {if(rs.first()!=true)lblNewLabel.setText("~~~~~~~查无此人!~~~~~~~~");} catch (SQLException e) {e.printStackTrace();}}}public static void FindByName(String s, JLabel lblNewLabel) {//按Name查找Connection conn=DBUtil.open();ResultSet rs = null;try {String sql="select * from StudentTbl where name=?";PreparedStatement sts=conn.prepareStatement(sql);sts.setString(1, s);rs=sts.executeQuery();while(rs.next()){int id=rs.getInt(1);String name=rs.getString(2);double a=rs.getDouble(3);double b=rs.getDouble(4);double c=rs.getDouble(5);lblNewLabel.setText(" | "+id+" | "+name+" | "+a+" | "+b+" | "+c);}}catch(Exception e) {e.printStackTrace();}finally{try{if(rs.first()!=true)lblNewLabel.setText("~~~~~~~查无此人!~~~~~~~~");} catch (SQLException e){e.printStackTrace();}}}public static void DeleteByID(long id){//删除Connection conn=DBUtil.open();PreparedStatement sts=null;int a=0;try {sts=conn.prepareStatement("delete from StudentTbl where id=?");sts.setLong(1, id);a=sts.executeUpdate();if(a>0)JOptionPane.showMessageDialog(null, "删除成功!", "WO", RMATION_MESSAGE);if(a==0)JOptionPane.showMessageDialog(null, "无此人!", "WO", RMATION_MESSAGE);}catch(Exception e) {e.printStackTrace();}DBUtil.close(conn);}public static void Sort(JTextArea ta,int index) {//排序//查询Connection conn=DBUtil.open();String sql="select id,name,frctionJava,fractionMath,fractionOS from studentTbl";Statement stmt;try {stmt = conn.createStatement();ResultSet rs=stmt.executeQuery(sql);List<Student> list=new ArrayList<Student>();//遍历操作while(rs.next()){int id=rs.getInt(1);String name=rs.getString(2);double a=rs.getDouble(3);double b=rs.getDouble(4);double c=rs.getDouble(5);Student u=new Student();u.setId(id);u.setName(name);u.setFractionJava(a);u.setFractionMath(b);u.setFractionOS(c);list.add(u);}Collections.sort(list,new Comparator<Student>(){public int compare(Student o1, Student o2){int i = 1 ;if(index==1){i= (int) (o2.getFractionJava() -o1.getFractionJava()); }if(index==2){i = (int) (o2.getFractionMath() -o1.getFractionMath());}if(index==3){i = (int) (o2.getFractionOS() -o1.getFractionOS());}return i;}});String s=listToString(list, '\n');ta.setText(s);} catch (SQLException e) {e.printStackTrace();}DBUtil.close(conn);}public static void add(Student stu) {//添加Connection conn=DBUtil.open();PreparedStatement sts;try {sts = conn.prepareStatement("insert into StudentTbl values(?,?,?,?,?)");sts.setLong(1, stu.getId());sts.setString(2, stu.getName());sts.setDouble(3, stu.getFractionJava());sts.setDouble(4, stu.getFractionMath());sts.setDouble(5, stu.getFractionOS());sts.executeUpdate();} catch (SQLException e) {e.printStackTrace();}DBUtil.close(conn);}public static void UpdateStudent(Student stu){//更新Connection conn=DBUtil.open();try {String sql="update studenttbl set name='"+stu.getName()+"',FrctionJava='"+stu.getFractionJava()+"',FractionMath='"+stu.getFractionMath()+"',FractionOS='"+stu.getFractionOS()+"' where id='"+stu.getId()+"'";PreparedStatement sts=conn.prepareStatement(sql);sts.executeUpdate();}catch(Exception e) {e.printStackTrace();}}}class Studentpackage test;import java.io.Serializable;public class Student implements Serializable{private static final long serialVersionUID =4558876142427402513L;private String name;private long id;private double fractionOS;private double fractionJava;private double fractionMath;public String getName() {return name;}public void setName(String name) { = name;}public long getId() {return id;}public void setId(long id) {this.id = id;}public double getFractionOS() {return fractionOS;}public void setFractionOS(double fractionOS) {this.fractionOS = fractionOS;}public double getFractionJava() {return fractionJava;}public void setFractionJava(double fractionJava) {this.fractionJava = fractionJava;}public double getFractionMath() {return fractionMath;}public void setFractionMath(double fractionMath) {this.fractionMath = fractionMath;}public String toString() {return (name+" "+id+" Java:"+fractionJava+" Math:"+fractionMath+" OS:"+fractionOS);}}class MyJFramepackage test;import javax.swing.JFrame;import javax.swing.JPanel;import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import java.awt.Color;import javax.swing.SwingConstants;import javax.swing.JLabel;import java.awt.Font;public class MyJFrame {JFrame frame=new JFrame("Demo");;/*** @wbp.parser.entryPoint*/public void init() {frame.setVisible(true);frame.setBounds(100, 100, 570, 474);//JPanelJPanel panel = new JPanel();panel.setBackground(new Color(153, 204, 255));frame.getContentPane().add(panel, BorderLayout.CENTER);panel.setLayout(null);//Panel X YJPanel panel_x = new JPanel();panel_x.setBackground(new Color(153, 204, 255));panel_x.setBounds(0, 0, 141, 435);panel.add(panel_x);panel_x.setLayout(null);JPanel panel_y = new JPanel();panel_y.setBackground(new Color(255, 255, 255));panel_y.setBounds(140, 0, 414, 435);panel.add(panel_y);//功能按钮//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++JButton b0 = new JButton("Home");b0.setHorizontalAlignment(SwingConstants.LEADING);b0.setBackground(new Color(255, 255, 255));b0.setBounds(34, 21, 66, 23);panel_x.add(b0);JButton b1 = new JButton("\u663E\u793A");b1.setBackground(new Color(255, 255, 255));b1.setBounds(22, 66, 93, 23);panel_x.add(b1);JButton b2 = new JButton("\u67E5\u627E(ID)");b2.setBackground(new Color(255, 255, 255));b2.setBounds(22, 112, 93, 23);b2.setMargin(new Insets(0, 0, 0, 0));panel_x.add(b2);JButton b3 = new JButton("\u67E5\u627E(Name)");b3.setBackground(new Color(255, 255, 255));b3.setBounds(22, 157, 93, 23);b3.setMargin(new Insets(0, 0, 0, 0));panel_x.add(b3);JButton b4 = new JButton("\u5220\u9664");b4.setBackground(new Color(255, 255, 255));b4.setBounds(22, 200, 93, 23);panel_x.add(b4);JButton b5 = new JButton("\u6392\u5E8F");b5.setBounds(22, 243, 93, 23);b5.setBackground(new Color(255, 255, 255));panel_x.add(b5);JButton b6 = new JButton("\u6DFB\u52A0");b6.setBounds(22, 290, 93, 23);b6.setBackground(new Color(255, 255, 255));panel_x.add(b6);JButton b7 = new JButton("\u66F4\u65B0");b7.setBounds(22, 334, 93, 23);b7.setBackground(new Color(255, 255, 255));panel_x.add(b7);JButton bExit = new JButton("\u9000\u51FA");bExit.setBounds(22, 378, 93, 23);bExit.setBackground(new Color(255, 255, 255));panel_x.add(bExit);//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++//============================================================= CardLayout cl_panel_y=new CardLayout();//卡片JPanelpanel_y.setLayout(cl_panel_y);JPanel panel_0 = new JPanel();//欢迎界面panel_0.setBackground(new Color(153, 204, 255));panel_y.add(panel_0, "c0");panel_0.setLayout(null);JLabel l1 = new JLabel("\u6B22\u8FCE\u4F7F\u7528\u5B66\u751F\u4FE1\u606F\u7BA1\u7406\u7A 0B\u5E8F");l1.setFont(new Font("宋体", Font.PLAIN, 16));l1.setHorizontalAlignment(SwingConstants.CENTER);l1.setBounds(37, 33, 317, 66);panel_0.add(l1);JPanel panel_1 = new JPanel();//显示panel_y.add(panel_1, "c1");JPanel panel_2 = new JPanel();//查找panel_y.add(panel_2, "c2");JPanel panel_3 = new JPanel();//查找panel_y.add(panel_3, "c3");//MyJPanel.init3(panel_3);JPanel panel_4 = new JPanel();//删除panel_y.add(panel_4, "c4");//MyJPanel.init4(panel_4);JPanel panel_5 = new JPanel();//排序panel_y.add(panel_5, "c5");//MyJPanel.init5(panel_5);JPanel panel_6 = new JPanel();//添加panel_y.add(panel_6, "c6");JPanel panel_7 = new JPanel();panel_y.add(panel_7, "c7");//MyJPanel.init6(panel_6);//============================================================== //按钮事件//============================================================== b0.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {cl_panel_y.show(panel_y, "c0");}});b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init1(panel_1);cl_panel_y.show(panel_y, "c1");}});b2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init2(panel_2);cl_panel_y.show(panel_y, "c2");}});b3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init3(panel_3);cl_panel_y.show(panel_y, "c3");}});b4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init4(panel_4);cl_panel_y.show(panel_y, "c4");}});b5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init5(panel_5);cl_panel_y.show(panel_y, "c5");}});b6.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init6(panel_6);cl_panel_y.show(panel_y, "c6");}});b7.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {MyJPanel.init7(panel_7);cl_panel_y.show(panel_y, "c7");}});bExit.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.exit(0);}});}}class MyJPanelpackage test;import java.awt.CardLayout;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.List;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.SwingConstants;import java.awt.Color;class MyJPanel{//显示static void init1(JPanel panel){//JPanel panel=new JPanel();panel.setBackground(new Color(255, 255, 255));panel.setBounds(0, 0, 373, 382);panel.setLayout(null);JLabel l = new JLabel(" ===\u4E0B\u5217\u662F\u6240\u6709\u67E5\u770B\u7684\u6240\u6709\u6570\ u636E\u4FE1\u606F===");//Labell.setFont(new Font("宋体", Font.PLAIN, 14));l.setBounds(15, 10, 336, 29);panel.add(l);JTextArea textArea = new JTextArea();//TextAreatextArea.setFont(new Font("Monospaced", Font.PLAIN, 15));textArea.setBackground(new Color(255, 255, 255));textArea.setBounds(25, 49, 326, 311);List<Student> list=new ArrayList<Student>();//转换为Stringlist=Sql.disAll();textArea.append(Sql.listToString(list,'\n'));panel.add(textArea);panel.repaint();}//查找IDstatic void init2(JPanel panel){//JPanel panel=new JPanel();panel.setBackground(new Color(255, 255, 255));panel.setBounds(0, 0, 373, 202);panel.setLayout(null);JLabel l1 = new JLabel("输入查找的ID:");l1.setBounds(15, 39, 201, 35);l1.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(l1);JLabel l2=new JLabel("学号姓名Java Math OS");l2.setBounds(47, 80, 290, 31);l2.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(l2);JTextField textField = new JTextField();textField.setBounds(208, 39, 72, 35);textField.setColumns(10);panel.add(textField);JLabel l0 = new JLabel();l0.setFont(new Font("宋体", Font.PLAIN, 14));l0.setBounds(21, 120, 331, 35);JButton b = new JButton("Y");b.setFont(new Font("宋体", Font.PLAIN, 10));b.setHorizontalAlignment(SwingConstants.LEFT);b.setBackground(new Color(255, 255, 255));b.setBounds(301, 39, 45, 35);b.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0){String s=textField.getText();long id=Long.parseLong(s);Sql.FindByID(id,l0);}});panel.add(b);panel.add(l0);}//查找Namestatic void init3(JPanel panel) {panel.setBounds(0, 0, 373, 202);panel.setBackground(new Color(255, 255, 255));panel.setLayout(null);JLabel l1 = new JLabel("输入要查找的姓名:");l1.setBounds(15, 39, 201, 35);l1.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(l1);JLabel l2=new JLabel("学号姓名Java Math OS");l2.setBounds(47, 80, 290, 31);l2.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(l2);JTextField textField = new JTextField();textField.setBounds(208, 39, 72, 35);textField.setColumns(10);panel.add(textField);JLabel l0 = new JLabel();l0.setFont(new Font("宋体", Font.PLAIN, 14));l0.setBounds(21, 120, 331, 35);panel.add(l0);JButton b = new JButton("Y");b.setBounds(301, 39, 45, 35);b.setBackground(new Color(255, 255, 255));b.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0){String s=textField.getText();Sql.FindByName(s,l0);}});panel.add(b);}//删除static void init4(JPanel panel) {panel.setBounds(0, 0, 373, 202);panel.setBackground(new Color(255, 255, 255));panel.setLayout(null);JLabel l1 = new JLabel("请输入你要删除的ID:");l1.setBounds(15, 39, 201, 35);l1.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(l1);JTextField textField = new JTextField();textField.setBounds(95, 84, 72, 35);textField.setColumns(10);panel.add(textField);JLabel l0 = new JLabel();l0.setFont(new Font("宋体", Font.PLAIN, 14));l0.setBounds(15, 137, 331, 35);panel.add(l0);JButton b = new JButton("Y");b.setBackground(new Color(255, 255, 255));b.setHorizontalAlignment(SwingConstants.LEFT);b.setBounds(199, 84, 62, 35);b.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0){String s=textField.getText();long id=Long.parseLong(s);Sql.DeleteByID(id);}});panel.add(b);}//排序static void init5(JPanel p){//JPanel p = new JPanel();p.setBackground(new Color(255, 255, 255));JTextArea a1= new JTextArea();a1.setFont(new Font("Monospaced", Font.PLAIN, 15));JTextArea a2= new JTextArea();a2.setFont(new Font("Monospaced", Font.PLAIN, 15));JTextArea a3= new JTextArea();a3.setFont(new Font("Monospaced", Font.PLAIN, 15));CardLayout card = new CardLayout(3,3);JPanel pane = new JPanel(card);pane.setBackground(new Color(255, 255, 255));pane.setBounds(45, 65, 360, 500);JButton b1_1;JButton b2_1;JButton b3_1;b1_1 = new JButton("按Java排序");b1_1.setBackground(new Color(255, 255, 255)); b1_1.setBounds(84, 20, 93, 35);b2_1 = new JButton("按Math排序");b2_1.setBackground(new Color(255, 255, 255)); b2_1.setBounds(172, 20, 93, 35);b3_1 = new JButton("按OS排序");b3_1.setBackground(new Color(255, 255, 255)); b3_1.setBounds(264, 20, 87, 35);p.setLayout(null);p.add(b1_1);p.add(b2_1);p.add(b3_1);p.add(pane);pane.add(a1,"p1");pane.add(a2,"p2");pane.add(a3,"p3");b1_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {Sql.Sort(a1,1);card.show(pane,"p1");}});b2_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {Sql.Sort(a2,2);card.show(pane,"p2");}});b3_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {Sql.Sort(a3,3);card.show(pane,"p3");}});}//添加static void init6(JPanel p){//JPanel p=new JPanel();p.setBackground(new Color(255, 255, 255));JLabel l0,l1,l2,l3,l4,l5;//输入姓名id java math O s JTextField t1,t2,t3,t4,t5;//姓名id java math O sJButton b=new JButton("Y");//确认p.setLayout(null);l0=new JLabel("请输入相关信息:");l0.setFont(new Font("宋体", Font.PLAIN, 14));l0.setBounds(0,0,126,30);l1=new JLabel("Name:");l1.setFont(new Font("宋体", Font.PLAIN, 14));l1.setHorizontalAlignment(SwingConstants.CENTER);l1.setBounds(30,30,80,30);t1=new JTextField();//namet1.setBounds(144,30,80,30);l2=new JLabel(" ID:");l2.setFont(new Font("宋体", Font.PLAIN, 14));l2.setHorizontalAlignment(SwingConstants.CENTER);l2.setBounds(30,70,80,30);t2=new JTextField();//idt2.setBounds(144,70,80,30);l3=new JLabel(" Java:");l3.setFont(new Font("宋体", Font.PLAIN, 14));l3.setHorizontalAlignment(SwingConstants.CENTER);l3.setBounds(30,110,80,30);t3=new JTextField();//idt3.setBounds(144,110,80,30);l4=new JLabel(" Math:");l4.setFont(new Font("宋体", Font.PLAIN, 14));l4.setHorizontalAlignment(SwingConstants.CENTER);l4.setBounds(30,150,80,30);t4=new JTextField();//idt4.setBounds(144,150,80,30);l5=new JLabel(" OS:");l5.setFont(new Font("宋体", Font.PLAIN, 14));l5.setHorizontalAlignment(SwingConstants.CENTER);l5.setBounds(30,190,80,30);t5=new JTextField();//idt5.setBounds(144,190,80,30);b.setBounds(300,260,50,30);b.setBackground(new Color(255, 255, 255));b.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {String n,id,j,m,o;id=t2.getText();long id1 = (long)Integer.parseInt(id);//把String 转化成I n tn=t1.getText();j=t3.getText();double j1 =(double) Integer.parseInt(j);//把String 转化成I n tm=t4.getText();double m1 =(double) Integer.parseInt(m);o=t5.getText();double o1 =(double) Integer.parseInt(o);Student stu=new Student();stu.setId(id1);stu.setName(n);stu.setFractionJava(j1);stu.setFractionMath(m1);stu.setFractionOS(o1);Sql.add(stu);JOptionPane.showMessageDialog(null, "添加成功!", "WO", RMATION_MESSAGE);}});p.add(l0);p.add(l1);p.add(t1);p.add(l2);p.add(t2);p.add(l3);p.add(t3);p.add(l4);p.add(t4);p.add(l5);p.add(t5);p.add(b);}// 更新static void init7(JPanel panel){//JPanel p=new JPanel();//JPanel panel = new JPanel();panel.setBounds(0, 0, 373, 202);panel.setBackground(new Color(255, 255, 255));//frame.getContentPane().add(panel);panel.setLayout(null);JLabel lblNewLabel_1 = new JLabel("请输入你要更改学生的ID:");lblNewLabel_1.setBounds(15, 39, 201, 35);lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 15));panel.add(lblNewLabel_1);JTextField textField = new JTextField();textField.setBounds(208, 39, 72, 35);textField.setColumns(10);panel.add(textField);JTextField textField_1 = new JTextField();textField_1.setBounds(15, 149, 55, 35);panel.add(textField_1);textField_1.setColumns(10);JTextField textField_2 = new JTextField();textField_2.setBounds(80, 149, 45, 35);panel.add(textField_2);textField_2.setColumns(10);JTextField textField_3 = new JTextField();textField_3.setBounds(136, 149, 45, 35);panel.add(textField_3);textField_3.setColumns(10);JTextField textField_4 = new JTextField();textField_4.setBounds(194, 149, 45, 35);panel.add(textField_4);textField_4.setColumns(10);JLabel lblNewLabel = new JLabel();lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));lblNewLabel.setBounds(15, 94, 331, 35);panel.add(lblNewLabel);JButton Find = new JButton("Y");Find.setBackground(new Color(255, 255, 255));Find.setBounds(301, 39, 45, 35);panel.add(Find);JButton Sure = new JButton("Y");Sure.setBounds(291, 148, 55, 36);panel.add(Sure);Sure.setBackground(new Color(255, 255, 255));Find.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0){String s=textField.getText();long id=Long.parseLong(s);Sql.FindByID(id,lblNewLabel);if(lblNewLabel.getText().equals("~~~~~~~查无此人!~~~~~~~~")){lblNewLabel.setText("这是个错误的ID!!!");}elselblNewLabel.setText("请依次输Name FractionJava FractionMath FractionOS");}});Sure.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {Student stu=new Student();stu.setId(Long.parseLong(textField.getText()));stu.setName(textField_1.getText());stu.setFractionJava(Double.valueOf(textField_2.getText()).doubleValue());stu.setFractionMath(Double.valueOf(textField_3.getText()).doubleValue());stu.setFractionOS(Double.valueOf(textField_4.getText()).doubleValue());Sql.UpdateStudent(stu);JOptionPane.showMessageDialog(null, "修改成功!", "WO", RMATION_MESSAGE);}});}}class Mainpackage test;public class Main {public static void main(String[] args) {new MyJFrame().init();}}(4)运行结果截图(按每个操作分别截图)。