Java学生信息管理(Swing窗体)

合集下载

基于JAVA的学生管理系统的设计与实现

基于JAVA的学生管理系统的设计与实现

基于JAVA的学生管理系统的设计与实现学生管理系统是近年来成为教育行业必备的一种信息管理软件。

下面将介绍基于JAVA 的学生管理系统设计实现。

一、功能需求1. 学生信息管理:包括学生基本信息、课程信息、成绩信息、出勤信息等管理。

3. 课程管理:包括课程添加、修改、删除、查询等管理。

4. 成绩管理:包括成绩录入、查询、统计、导出等管理。

5. 出勤管理:包括出勤记录维护、缺勤处理、请假管理等。

二、系统设计系统采用MVC的设计模式,分为三层:视图层、控制层和数据层。

1. 数据层数据层主要负责数据库的操作,数据库采用MySQL。

主要包括学生信息表、教师信息表、课程信息表、成绩信息表、出勤信息表等。

2. 控制层控制层主要负责逻辑处理,其中包括业务逻辑和数据逻辑。

业务逻辑负责实现系统的具体功能,数据逻辑负责与数据库进行交互。

控制层采用Servlet和JSP开发。

3. 视图层视图层主要负责页面展示和用户交互,采用HTML、CSS、JavaScript等技术实现。

三、系统实现1. 系统登录学生管理系统实现了用户的登录验证,用户在登录页面输入用户名和密码,系统会验证是否正确。

2. 学生信息管理学生信息管理包括学生基本信息、课程信息、成绩信息、出勤信息等管理。

学生基本信息包括姓名、年龄、性别、学号等,课程信息包括课程名称、授课教师、学期等,成绩信息包括学生姓名、成绩、课程名称等,出勤信息包括出勤日期、缺勤情况等。

4. 课程管理课程管理包括课程添加、修改、删除、查询等管理。

管理员可以添加新的课程,也可以对已有课程进行修改或删除,同时可以查询已有的课程。

5. 成绩管理成绩管理包括成绩录入、查询、统计、导出等管理。

管理员可以录入学生的成绩,也可以查询已有的成绩,同时可以对成绩进行统计和导出。

6. 出勤管理出勤管理包括出勤记录维护、缺勤处理、请假管理等。

管理员可以维护每个学生的出勤记录,也可以对缺勤的学生进行处理,同时可以管理学生的请假情况。

学生信息管理系统java课程设计(含源代码)

学生信息管理系统java课程设计(含源代码)

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学生管理系统大作业代码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. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。

学生信息管理系统源代码(java)

学生信息管理系统源代码(java)

目录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学生成绩管理系统报告简介本文将介绍一个基于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)。

javase综合案例

javase综合案例
queryButton.addActionListener(this);
updateButton.addActionListener(this);
deleteButton.addActionListener(this);
}
}
```
2. 实现业务逻辑
接下来,我们需要实现学生信息的添加、查询、修改和删除等功能。这些功能可以通过Java的方法来实现,例如使用`Scanner`类来读取用户输入的数据,使用`ArrayList`类来管理学生列表等。以下是实现业务逻辑的代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class StudentGUI extends JFrame implements ActionListener {
private JTextField nameField;
buttonPane.add(queryButton);
buttonPane.add(updateButton);
buttonPane.add(deleteButton);
pane.add(buttonPane, BorderLayout.SOUTH);
addButton.addActionListener(this);
private JTextField idField;
private JButton addButton;
private JButton queryButton;
private JButton updateButton;
private JButton deleteButton;

学生信息管理系统java功能模块

学生信息管理系统java功能模块

学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。

它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。

Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。

本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。

用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。

在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。

权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。

在Java中,可以使用角色-权限模型来实现权限管理。

每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。

通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。

学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。

在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。

通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。

学生信息查询学生信息查询是系统的核心功能之一。

用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。

在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。

成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。

教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。

在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。

通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。

JAVA-面向对象程序设计-学生个人信息管理系统

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语句。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称:实验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)运行结果截图(按每个操作分别截图)。

相关文档
最新文档