精华内容
下载资源
问答
  • 学生信息管理系统java课程设计(含源代码)
    千次阅读
    2021-02-12 10:16:37

    《学生信息管理系统java课程设计(含源代码)》由会员分享,可在线阅读,更多相关《学生信息管理系统java课程设计(含源代码)(43页珍藏版)》请在人人文库网上搜索。

    1、JAVA程序设计 课程设计报告课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见:评定成绩:指导老师签名:年 月 日目 录一、系统描述21、需要实现的功能32、设计目的3二、分析与设计31、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11三、系统测试16四、心得体会23五、参考文献24六、附录24一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。1.。

    2、2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。1.3、查询学生基本信息的功能可使用 “姓名”对已存有的学生资料进行查询。1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。1.5、用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户。

    3、提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规。

    4、化管理,与世界接轨的重要条件。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。二、分析与设计1、功能模块划分学生信息管理系统浏览学生信息查询学生信息添加学生信息修改学生信息删除学生信息普通学生(用户)模块班委(管理员)模块浏览学生信息查询学生信息学生管理登陆管理修改登陆密码显示登陆用户图1 功能模块划分图2、数据库结构描述2.1、数据库E-R模型 登录用户管理账号密码职位图2 登录用户管理E-R图学 生总学分出生地年龄专业性别姓名学号班级图3 实。

    5、体学生E-R图2.2、数据库关系模型二维表表1 学生表(student)字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分图4 录入数据后的学生表表2 登陆权限表(login)字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvar。

    6、char(30)职位,如班委,普通学生图5 录入数据后的登陆权限表3、系统详细设计文档3.1、系统执行流程图进度条(闪屏)用户登陆登陆验证falsetrue班委(管理员)界面普通学生界面查询添加修改删除查询显示班委(管理员 )普通学生(用户)退出退出系统结束结束退出系统truefalsefalsetrue修改用户登陆密码显示登陆用户信息图6 系统执行流程图3.2、类的划分表3 学生信息查询类类名类的成员属性与方法说明StuQuery.javaJPanel jp1定义一个面板JLabel jp1_jl1定义两个标签JTextField jp1_jtf1定义一个文本输入框JButton jp1_j。

    7、b1,jp1_jb2,jp1_jb3定义三个按钮JTable jtb定义一个表JScrollPane jsp定义一个滚动面板,用于存放表TableModel tm自定义一个表模型,用于更新表数据public StuQuery(Frame Main,String title ,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现模式对话public void actionPerformed(ActionEvent arg0)事件响应方法表4 修改学生信息类类名类的成员属性与方法说明UpdateStu.javaJLa。

    8、bel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定义八个标签,用于设置数据库表的字段名JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定义八个文本框,用于接收表的各字段值JButton jb1,jb2,jb3定义三个按钮,用于事件响应public void addView()这是修改学生界面的函数封装public AddStu(Frame Main,String title,boolean model)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现模式对话pub。

    9、lic UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model)因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowpublic void actionPerformed(ActionEvent e)事件响应方法表5 修改管理人员信息类类名类的成员属性与方法说明UpdateLogin.javaJLabel jl1,jl2,jl3定义三个标签,即用户名,密码,职位JTextField jtf1,jtf2,。

    10、jtf3定义三个文本框,对应三个标签的值JButton jb1,jb2,jb3定义三个按钮,用于事件响应JTable jtb定义一个表格,用于显示登陆用户信息PurViewModel pvm自定义登陆用户信息的数据更新模型public void upView()这是修改账户信息权限的界面函数的封装public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,。

    11、并传递所选中的行号rowsuper(Main,title,model)调用父类的构造方法,实现模式对话public void actionPerformed(ActionEvent e)事件响应方法表6表模式-更新数据类名类的成员属性与方法说明TableModel.javaVector rowData,row,column定义表格所需要的集合(表,行,列)ResultSet rs定义一个记录集,用于接收从数据库返回来的记录集SqlConn conn定义一个用于连接数据库的对象,SqlConn是连接数据库的类public TableModel(String sql)构造方法,并传一个SQL语句,。

    12、实现查询操作public String getColumnName(int column)这是一个重写的方法,用于设置表的列名public int getColumnCount()得到数据模型记录集的列数public int getRowCount()得到数据模型记录集的行数public Object getValueAt(int arg0, int arg1)得到数据模型记录集某行某列的值4、各个模块的实现方法描述说明:此处只包含了个人完成的模块的实现方法描述4.1、学生信息查询学生信息查询窗口,采用了基于管理窗口,即主界面的对话框实现,实现方法如下:1)定义查询所需要的面板和组件。2)调用。

    13、父类的构造方法,实现模式对话。3)进行学生信息查询。4.2、修改管理人员信息修改管理人员信息的界面,通过模式对话,即继承JDialog对话框来实现的,实现方法如下:1)定义修改学生信息的相关组件。2)加载数据库,获得选中的那一行的所有信息。3)把组件添加到窗体。4)调用父类的构造方法,实现模式对话。5)调用修改用户权限信息的界面的方法。6)修改管理人员信息。7)调用数据库连接,并设置操纵更新的sql语句。4.3、修改学生信息修改学生信息的界面,通过模式对话,即继承JDialog对话框来实现,实现方法如下:1)定义修改学生信息的相关组件。2)加载数据库,获得选中的那一行的所有信息。3)把组件添加。

    14、到窗体。4)调用父类的构造方法,实现模式对话。5)调用修改学生信息的界面的方法。6)修改学生信息。7)完成相应功能。4.4、更新数据这是一个表模型,用于数据更新,实现方法如下:1)定义表格所需要的集合。2)定义一个记录集,用于接收从数据库返回来的记录集。3)定义一个用于连接数据库的对象。4)设置表格的列名。5)创建表的记录集。6)调用数据库连接。7)设置表的列名,并得到表的列数和行数。8)得到某行某列的值。5、测试数据及期望结果5.1、学生信息查询数据测试及期望结果数据测试及期望结果如下图:图7为学生登录后的最初界面;图8为学生查看所有信息界面;图9为全部学生的信息记录(此处同时运用到了Tab。

    15、leModel类);图10则是实现了此处的查询功能,测试数据为:姓名:肖立本期望结果将显示以下数据:学号:904325 姓名:肖立本 性别:男 年龄:23 出生地:安徽 专业:信息管理 班级:9040303 总学分:542.5图7 学生信息管理系统图8 学生信息管理系统-显示记录图9 学生信息管理系统-显示所有信息图10 学生信息管理系统-学生信息查询5.2、修改管理人员数据测试及期望结果数据测试及期望结果如下图:图11将显示出所有管理人员信息。此处测试的数据为:账号1:admin 密码1:admin 职位1:班委账号2:user 密码2:user 职位2:普通学生图12是弹出的修改密码窗口。。

    16、此处可将密码admin修改为其它值。图11 显示所有管理人员信息图12 修改管理人员信息窗口5.3、修改学生信息数据测试及期望结果数据测试及期望结果如下图:图13为全部学生的信息记录(此处同时运用到了TableModel类);图14是弹出的修改学生信息窗口:测试数据:姓名:杨明辉期望结果:可修改姓名、性别、年龄、出生地、专业、班级和总学分。图13 学生信息管理系统-显示所有信息图14 修改学生信息窗口三、系统测试1、系统启动界面图15 系统启动界面2、用户登录界面图16 用户登录界面3、班委(管理员)界面,即具有完全权限的用户后台界面图17 管理员界面4、班委(管理员)界面子菜单项显示图18 。

    17、管理员界面子菜单-系统界面图19 管理员界面子菜单-学生管理界面图20 管理员界面子菜单-系统设置界面5、学生信息查询界面图21 学生信息查询6、学生信息查询结果显示图22 学生信息查询显示7、添加学生信息界面在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时:图23 添加学生信息8、修改学生信息界面(学号是主键,灰色显示,即不可更改)图24 修改学生信息9、显示所有学生信息图25 显示所有信息10、当没有选中一行的时候,不能修改和删除,并弹出提示警告框图26 修改和删除警告框图11、删除文件时的确认对话框(点击确认时会删除,点击取消,则返回主界面)图27 删除学。

    18、生确认对话框12、显示所有登陆用户信息图28 显示登录用户信息示意图13、修改用户登陆密码,选中某个用户进行修改图29 修改用户登录密码界面示意图14、关闭用户记录,即不显示所有用户信息图30 关闭用户记录示意图15、关闭学生记录图31 关闭学生记录示意图16、退出系统确认对话框只有确认时才会退出系统,否则返加主界面图32 退出系统17、普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击)图33 学生登录界面(1)图34 学生登录界面(2)四、心得体会这次为期一周的课程设计让我对java有了新的认识,首先我接触了很多上课见过但没有实际用过。

    19、的类和方法,让我对编程有了许多新的思想。大一学了C语言、C+等,虽然当时学的还不错,由于学的都是入门知识,所以自己做的程序只能实现一定的功能,和自己平时用的软件相差很大。这学期刚开课学java,虽然知道这是一门很有用的语言,但是却感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,由于平时学习不刻苦,也没有时间静下心来写过java代码,当得知最后期末最后一周将进行java课程设计,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。与此同时,我们也在进行数据库课程设计,和这个系统相类似,做起来比较熟练,同时想通过做课程设计将数据库和java更好的结合运用起来,感觉这样才能够。

    20、更贴近实际应用。 这次课程设计使我对java的跨平台性有了进一步认识,同时加深了课堂上所学到的知识。虽然这是第三次课程设计,并且自己也有了两年的上机实验,但我不得不说这一次课程设计是前两次以及任何一节上机实验课都不可比的。在课程设计这一段时间,使我收获了很多在上机课上无法学习到的知识,尤其是需求分析和eclipse熟练的使用。因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,但通过老师的指导和一次又一次的指导、改写、调试,将这些困难都解决了,心中的喜悦感油然而生。为了能使程序更加的完善,更加人性化,我也利用了不少的课余时间,查找了各方面的资料,看到一个小型系统能够展示在电脑屏幕上时,感。

    21、觉自己这段时间的付出是非常值得的,也使我对java产生了更浓厚的兴趣,对自己的学习以及将来的工作都是有很大的帮助的。整个课程设计过程让我的java知识得到了应用,体验了程序员编程时的喜怒哀乐,知识、心智,得到全方位提升,收获颇丰。五、参考文献著作文献:1 赵海廷.Java语言程序设计教程.北京:清华大学出版社.20122 孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业出版社.20053 何梅.java编程实例系列丛书.北京:清华大学出版社,20024 杨昭.二级Java语言程序设计教程.北京:中国水利水电出版社,20065 赵文靖.Java程序设计基础与上机指导.北京:清华大学出版。

    22、社,2006 六、附录1、功能:这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import com.Tools.MyFont;public class StuQuery extends JDialog implements ActionListener /定义查询所需要的面板和组件JPanel jp1;JLabel jp1_jl1。

    23、;JTextField jp1_jtf1;JButton jp1_jb1,jp1_jb2,jp1_jb3;JTable jtb;JScrollPane jsp;TableModel tm;public StuQuery(Frame Main,String title ,boolean model)/调用父类的构造方法,实现模式对话super(Main,title,model);jp1=new JPanel();jp1_jl1=new JLabel(请输入姓名:);jp1_jl1.setFont(MyFont.f1);jp1_jtf1=new JTextField(15);jp1_jb1=new。

    24、 JButton(查 询-);jp1_jb1.setFont(MyFont.f1);jp1_jb1.addActionListener(this);jp1_jb2=new JButton(清 除);jp1_jb2.setFont(MyFont.f1);jp1_jb2.addActionListener(this);jp1_jb3=new JButton(显示所有记录);jp1_jb3.setFont(MyFont.f1);jp1_jb3.addActionListener(this);jp1.add(jp1_jl1);jp1.add(jp1_jtf1);jp1.add(jp1_jb1);jp1。

    25、.add(jp1_jb2);jp1.add(jp1_jb3);jtb=new JTable();jsp=new JScrollPane(jtb);this.add(jp1,North);this.add(jsp,Center);this.setSize(600,400);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stub/如果点击了查询按钮if(arg0.getSource()=jp1_jb1)/获取文本框的值String st。

    26、uName=jp1_jtf1.getText().trim();/其中trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格String sql=select * from student where stuName=+stuName+;/调用模型tm=new TableModel(sql);jtb.setModel(tm);else if(arg0.getSource()=jp1_jb2)jp1_jtf1.setText();else if(arg0.getSource()=jp1_jb3)tm=new TableModel(null);jtb.setModel(tm);2、功能。

    27、:这是一个表模型,用于更新数据package com.View;import com.SqlConnection.*;/引入数据库连接的包import java.sql.*;import java.util.*;import javax.swing.table.AbstractTableModel;import com.SqlConnection.SqlConn;public class TableModel extends AbstractTableModel /定义表格所需要的集合Vector rowData,row,column;/定义一个记录集,用于接收从数据库返回来的记录集Resul。

    28、tSet rs;/定义一个用于连接数据库的对象SqlConn conn;public TableModel(String sql)if(sql=null)sql=select * from student;/设置表格的列名column=new Vector();column.add(学号);column.add(姓名);column.add(性别);column.add(年龄);column.add(出生地);column.add(专业);column.add(班级);column.add(总学分);/创建表的记录集rowData=new Vector();/调用数据库连接conn=new S。

    29、qlConn();rs=conn.sqlQuery(sql);try while(rs.next()row=new Vector();row.add(rs.getString(1);row.add(rs.getString(2);row.add(rs.getString(3);row.add(rs.getString(4);row.add(rs.getString(5);row.add(rs.getString(6);row.add(rs.getString(7);row.add(rs.getString(8);rowData.add(row); catch (Exception e) e.p。

    30、rintStackTrace();/ TODO: handle exceptionOverride/设置表的列名public String getColumnName(int column) / TODO Auto-generated method stubreturn (String)this.column.get(column);Override/得到的列数public int getColumnCount() / TODO Auto-generated method stubreturn this.column.size();/得到的行数Overridepublic int getRow。

    31、Count() / TODO Auto-generated method stubreturn this.rowData.size();Override/得到某行某列的值public Object getValueAt(int arg0, int arg1) / TODO Auto-generated method stubreturn (Vector)this.rowData.get(arg0).get(arg1);3、 功能:这是修改管理人员信息的界面,通过模式对话(即继承JDialog对话框)来实现 package com.View;import java.awt.*;import ja。

    32、va.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import com.SqlConnection.SqlConn;import com.Tools.MyFont;public class UpdateLogin extends JDialog implements ActionListener /定义修改学生信息的相关组件JLabel jl1,jl2,jl3;JTextField jtf1,jtf2,jtf3;JButton jb1,jb2,jb3;/这是修改账户信息权限的界面。

    33、函数的封装public void upView()/加载数据库,获得选中的那一行的所有信息jl1=new JLabel(账 号:);/因为账号是主键,设置文本框不可编辑的同时,一般也设置标签灰色显示,以区别其他标签 jl1.setEnabled(false);jl1.setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2=new JLabel(密 码:);jl2.setFont(MyFont.f1);jl2.setBounds(250, 20, 60, 25);jl3=new JLabel(职 位:);jl3.setEnabled(false)。

    34、;jl3.setFont(MyFont.f1);jl3.setBounds(20, 60, 60, 25);jtf1=new JTextField(20);/由于账号是主键,因此不能修改,即设置障碍曙jtf1不可编辑jtf1.setEnabled(false);jtf1.setBounds(70, 20, 130, 25);jtf2=new JTextField(20);jtf2.setBounds(300, 20, 130, 25);jtf3=new JTextField(20);jtf3.setEnabled(false);jtf3.setBounds(70, 60, 130, 25);j。

    35、b1=new JButton(修 改);jb1.setFont(MyFont.f1);jb1.setBounds(100, 100, 80, 25);jb1.addActionListener(this);jb2=new JButton(取 消);jb2.setFont(MyFont.f1);jb2.setBounds(280, 100, 80, 25);jb2.addActionListener(this);jb3=new JButton(清 除);jb3.setFont(MyFont.f1);jb3.setBounds(190,100,80,25);jb3.addActionListene。

    36、r(this);this.setLayout(null);/把组件添加到窗体this.add(jl1);this.add(jtf1);this.add(jl2);this.add(jtf2);this.add(jl3);this.add(jtf3);this.add(jb1);this.add(jb2);this.add(jb3);/因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowpublic UpdateLogin(Frame Main,String title,PurViewMod。

    37、el pvm,int rowNo,boolean model)/调用父类的构造方法,实现模式对话super(Main,title,model);/调用修改用户权限信息的界面的方法this.upView();/先从表模型中获取所选中的那一行数据String userId=(String)pvm.getValueAt(rowNo, 0);System.out.println(userId=+userId);String password=(String)pvm.getValueAt(rowNo, 1);String position=(String)pvm.getValueAt(rowNo, 2)。

    38、;/设置广本框的值jtf1.setText(userId);jtf2.setText(password);jtf3.setText(position);/设置窗体的属性this.setSize(465,170);this.setVisible(true);this.setResizable(false);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stub/当点击了修改按钮if(e.getSource()=jb1)/获取文本框的信息String userId=jtf1.getTe。

    39、xt().trim();String password=jtf2.getText().trim();String position=jtf3.getText().trim();/调用数据库连接/设置操纵更新的sql语句String sql=update login set password=+password+,position=+position+where userId=+userId+;SqlConn sqlconn=new SqlConn();sqlconn.sqlUpdate(sql);/关闭交资源sqlconn.closeSqlConn();/关闭与数据库连接的资源后,再关闭对话框。

    40、,否则数据不能自动在表中更新显示出来this.dispose();/如果点击了取消按钮,则关闭模式对话框else if(e.getSource()=jb2)this.dispose();/如果点击了清除按钮,则清除所有的广本框的内容,除了学号else if(e.getSource()=jb3)/由于账号是主键,则不能清空!jtf2.setText();4、功能:这是修改学生信息的界面,通过模式对话(即继承JDialog对话框)来实现 package com.View;import java.awt.*;import java.awt.event.ActionEvent;import java.。

    41、awt.event.ActionListener;import javax.swing.*;import com.SqlConnection.SqlConn;import com.Tools.MyFont;public class UpdateStu extends JDialog implements ActionListener /定义修改学生信息的相关组件JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8;JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8;JButton jb1,jb2,jb3;int stuA。

    42、ge=0;Double stuSourse=0.0;/这是修改学生信息的界面函数的封装public void upView()/加载数据库,获得选中的那一行的所有信息jl1=new JLabel(学 号:);/因为学号是主键,设置文本框不可编辑的同时,一般也设置标签灰色显示,以区别其他标签 jl1.setEnabled(false);jl1.setBounds(20, 20, 60, 25);jl1.setFont(MyFont.f1);jl2=new JLabel(姓 名:);jl2.setFont(MyFont.f1);jl2.setBounds(250, 20, 60, 25);jl3=。

    43、new JLabel(性 别:);jl3.setFont(MyFont.f1);jl3.setBounds(20, 60, 60, 25);jl4=new JLabel(年 龄:);jl4.setFont(MyFont.f1);jl4.setBounds(250, 60, 60, 25);jl5=new JLabel(出生地:);jl5.setFont(MyFont.f1);jl5.setBounds(14, 100, 60, 25);jl6=new JLabel(专 业:);jl6.setFont(MyFont.f1);jl6.setBounds(20, 140, 60, 25);jl7=n。

    44、ew JLabel(班 级:);jl7.setFont(MyFont.f1);jl7.setBounds(20, 180, 60, 25);jl8=new JLabel(总学分:);jl8.setFont(MyFont.f1);jl8.setBounds(240, 180, 60, 25);jtf1=new JTextField(20);/由于学号是主键,因此不能修改,即设置障碍曙jtf1不可编辑jtf1.setEnabled(false);jtf1.setBounds(70, 20, 130, 25);jtf1.setBorder(BorderFactory.createLoweredBev。

    45、elBorder();jtf2=new JTextField(20);jtf2.setBounds(300, 20, 130, 25);jtf2.setBorder(BorderFactory.createLoweredBevelBorder();jtf3=new JTextField(10);jtf3.setBounds(70, 60, 60, 25);jtf3.setBorder(BorderFactory.createLoweredBevelBorder();jtf4=new JTextField(10);jtf4.setBounds(300, 60, 60, 25);jtf4.setB。

    46、order(BorderFactory.createLoweredBevelBorder();jtf5=new JTextField(30);jtf5.setBounds(70, 100, 360, 25);jtf5.setBorder(BorderFactory.createLoweredBevelBorder();jtf6=new JTextField(20);jtf6.setBounds(70, 140, 290, 25);jtf6.setBorder(BorderFactory.createLoweredBevelBorder();jtf7=new JTextField(20);jtf。

    47、7.setBounds(70, 180, 130, 25);jtf7.setBorder(BorderFactory.createLoweredBevelBorder();jtf8=new JTextField(20);jtf8.setBounds(300, 180, 130, 25);jtf8.setBorder(BorderFactory.createLoweredBevelBorder();jb1=new JButton(修 改);jb1.setFont(MyFont.f1);jb1.setBounds(100, 220, 80, 25);jb1.addActionListener(th。

    48、is);jb2=new JButton(取 消);jb2.setFont(MyFont.f1);jb2.setBounds(280, 220, 80, 25);jb2.addActionListener(this);jb3=new JButton(清 除);jb3.setFont(MyFont.f1);jb3.setBounds(190,220,80,25);jb3.addActionListener(this);this.setLayout(null);/把组件添加到窗体this.add(jl1);this.add(jtf1);this.add(jl2);this.add(jtf2);thi。

    49、s.add(jl3);this.add(jtf3);this.add(jl4);this.add(jtf4);this.add(jl5);this.add(jtf5);this.add(jl6);this.add(jtf6);this.add(jl7);this.add(jtf7);this.add(jl8);this.add(jtf8);this.add(jb1);this.add(jb2);this.add(jb3);/因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowpublic 。

    50、UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model)/调用父类的构造方法,实现模式对话super(Main,title,model);/调用修改学生信息的界面的方法this.upView();/先从表模型中获取所选中的那一行数据String stuId=(String)tm.getValueAt(rowNo, 0);System.out.println(sutId=+stuId);String stuName=(String)tm.getValueAt(rowNo, 1);String stuSex=(。

    51、String)tm.getValueAt(rowNo, 2);String stuAge=(String)tm.getValueAt(rowNo, 3);String stuJg=(String)tm.getValueAt(rowNo, 4);String stuZy=(String)tm.getValueAt(rowNo, 5);String classId=(String)tm.getValueAt(rowNo, 6);String stuSourse=(String)tm.getValueAt(rowNo, 7);/设置文本框的默认值jtf1.setText(stuId);jtf2.se。

    52、tText(stuName);jtf3.setText(stuSex);jtf4.setText(stuAge);jtf5.setText(stuJg);jtf6.setText(stuZy);jtf7.setText(classId);jtf8.setText(stuSourse);/设置窗体的属性this.setSize(465,300);this.getContentPane().setBackground(Color.LIGHT_GRAY);this.setVisible(true);this.setResizable(false);Overridepublic void action。

    53、Performed(ActionEvent e) / TODO Auto-generated method stub/当点击了修改按钮if(e.getSource()=jb1)/获取文本框的信息String stuId=jtf1.getText().trim();String stuName=jtf2.getText().trim();if(stuName.equals()JOptionPane.showMessageDialog(this, 请输入姓名!);return;/返回到输入界面,如果没有return语句,则会回到主界面String stuSex=jtf3.getText().tri。

    54、m();if(stuSex.equals()JOptionPane.showMessageDialog(this, 请输入性别!);return;/返回到输入界面,如果没有return语句,则会回到主界面/对于年龄,则需要进行两个判断,一个是不能为空,另一个必须是int型,下面用异常来判断输入的学生年龄是否是整型数/*/try stuAge=Integer.parseInt(jtf4.getText().trim();/把从文本框取得的字符串转换成整型,如果抛异常,则输入的不是整形数if(stuAge1)JOptionPane.showMessageDialog(this, 年龄必须大于或等于1!);return; catch (Exception e2) /提示输入的不是整数JOptionPane.showMessageDialog(this, 请输入一个整数的年龄!);/如果抛异常,则返回到添加窗口,后面终止执行*。

    更多相关内容
  • 学生信息管理系统Java

    2015-09-27 13:10:44
    基于Java学生信息管理系统,适用与初学者
  • 面对 庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规管理、科学统计和快速的查询,从而减少管理方面的工作量。现在的时代是网络普及是时代, 学生有条件通过...
  • java mysql数据库版本 的学生信息管理系统,GUI界面布局,详情请看我的博文
  • 学生信息管理系统JAVA GUI +MYSQL
  • 如何实现一个功能简单的学生信息管理系统,能够对学生信息(包括照片)进行添加、删除、修改和查询等操作。 二、基本要求 实现一个功能简单的学生信息管理系统,该系统具有按照账户名密码登录功能,登录后,可以...
  • 学生信息管理系统java课程设计报告

    千次阅读 2021-03-11 10:44:30
    学生信息管理系统java课程设计报告 Java面向对象程序课程设计报告——-学生信息管理系统姓名:刘杏娟专业:信息管理与信息系统班级:1130601学号:201130060117指导老师:司红伟2014/6/24前 言随着计算机科学的发展...

    41528d3028836879cd698677c3999917.gif学生信息管理系统java课程设计报告

    Java面向对象程序课程设计报告——-学生信息管理系统姓名:刘杏娟专业:信息管理与信息系统班级:1130601学号:201130060117指导老师:司红伟2014/6/24前 言随着计算机科学的发展,数据库技术在 Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今 Web应用的潮流。本课程设计研究了一种基于数据关联规则的网络学生信息管理系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。在设计中我们发现这样一个事实,一个用户或管理员在登陆这个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户活管理员的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接) ,这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。管理员验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了 SQL Server 2000数据库作为 ODBC(Open DataBase Connectivity )数据源,并以先进的 JDBC-ODBC桥接技术进行数据库存取等操作,使 Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用 Dreamweaver_MX开发的关联规则采掘系统和利用 JSP技术实现的个性化 Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录管理员的行为动态生成管理员个性化 Web页面。二者通过数据库服务器和 Web服务器连接。一、 系统描述:1、设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。本程序可以实现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用 SQL server2005进行数据存储,该数据库可实现关系较为简单的数据管理。2、需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。我这次的课题就是设计与实现一个学生信息管理系统。3、设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立几个学生信息表; (3)能连接数据库并实现对学生信息查询、增、删、改等功能。4、系统主要包括以下几项功能:(1)添加学生信息;(2)查询学生信息;(3)删除学生信息;(4)修改学生信息。5、界面构建 1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生信息) 。 2、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。 3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。 4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。5、界面布局尽量合理,各组件位置分布均匀美观。二、课程设计内容:1、 数据库系统简介数据库系统是一个信息核心,也是任何企业单位非常重视的运营主体。但随着科技的进步,多元化的需求,促使数据库扮演的角色愈来愈复杂,也愈来愈重视数据库系统相关程序开发工具的简便及性能。由于 java的特性,对这方面需求能够发挥相当多的优势,因而 java系统的应用越来越多。JDBC 是 java与数据库连接的一项规范,用于提供统一的 SQL语言的关系数据库系统访问接口,与 Java应用的相关程序取得数据库连接之后,便可依照 SQL语言去执行各项语句命令的运行。2 、JDBC 数据库连接Java数据库连接体系结构是用于 Java应用程序连接数据库的标准方法。JDBC对 Java程序员而言是 API,对实现与数据库连接的服务提供商而言是接口模型。作为 API,JDBC 为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC 使用已有的 SQL标准并支持与其它数据库连接标准,如 ODBC之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。目前比较常见的 JDBC驱动程序可分为以下四个种类:(1)JDBC-ODBC 桥接 ODBC驱动程序利用 ODBC驱动程序提供 JDBC访问。注意,必须将 ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题) ,或者是用 Java编写的三层结构的应用程序服务器代码。(2)本地 API半 Java驱动程序这种类型的驱动程序把客户机 API上的 JDBC调用转换为Oracle、Sybase、Inix、DB2 或其它 DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。(3)JDBC-NET 纯 Java驱动程序这种驱动程序将 JDBC转换为与 DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种 DBMS协议。这种网络服务器中间件能够将它的纯 Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的 JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持 Internet访问,它们必须处理 Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将 JDBC驱动程序加到他们现有的数据库中间件产品中。(4)本地协议纯 Java驱动程序这种类型的驱动程序将 JDBC调用直接转换为 DBMS所使用的网络协议。这将允许从客户机机器上直接调用 DBMS服务器,是 Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。据专家预计第(3) 、 (4)类驱动程序将成

    展开全文
  • JAVA实现学生信息管理系统+图形用户界面(GUI)
  • 学生信息管理系统java版本(GUI布局)

    千次阅读 2021-02-24 21:26:22
    学生信息管理系统java版本+GUI界面布局 下载链接: https://download.csdn.net/download/qq_52889967/14954612 有需要的可以自行下载,源码附后 Java版本+GUI+文件保存+自动检测重复学号在这里: ...

    学生信息管理系统java版本+GUI界面布局

    *下载链接:
    点击下载

    有需要的可以自行下载

    Java版本+GUI+文件保存+自动检测重复学号在这里:
    点击查看

    java版本+GUI+数据库+自动检测重复学号的在这里:
    点击查看

    附图如下:
    在这里插入图片描述
    部分源码展示:

    package javaDB;
    
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class StudentM {
    	
    	//设置变量
    	JFrame f =new JFrame("学生信息管理系统");
    	JButton a[]=new JButton [4];
    	JPanel p = new JPanel(null);
    	
    	public static void main(String[] args) {
    		
    		StudentM student=new StudentM();
    		student.fun();
    		
    }
    	
    	//初始化
    	public void fun() {
    		
    		//设置布局
    		f.setLayout(null);
    		
    		f.setLocation(400,40);
    		f.setSize(600,300);
    		//退出后关闭所有窗口
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		
    		for(int i=0;i<4;i++)
    		{
    			//实例化对象
    			a[i]=new JButton();
    			//设置按钮位置
    			a[i].setBounds(0,0+40*i,100,40);
    			//将按钮加入容器
    			f.add(a[i]);
    		}
    		
    		//设置按钮标签
    		a[0].setText("1:增加学生");
    		a[1].setText("2:删除学生");
    		a[2].setText("3:修改学生");
    		a[3].setText("4:查询学生");
    		
    		//窗口不能调整
    		f.setResizable(false);
    		//显示窗口
    		f.setVisible(true);	
    		
    		//设置面板
    		p.setLocation(250,0);
    		p.setSize(350,400);
    		p.setBackground(Color.LIGHT_GRAY);
    		f.add(p);
    		
    		//创建事件类
    		StudentA f1=new StudentA( p,a,f);
    		a[0].addActionListener(f1);
    		a[1].addActionListener(f1);
    		a[2].addActionListener(f1);
    		a[3].addActionListener(f1);
    		
    	}
    	
    }
    
    
    
    //编写 删除学生 的删除,清除按钮的监听器
    class jbutton2 implements ActionListener{
    	
    	StudentA UI;//用于调用paint方法,重新绘制面板
    	JFrame j;//传递容器
    	JButton b3;//传递按钮
    	JButton b4;
    	JPanel p;//传递面板
    	JTextField t1 ;//传递文本框
    	JTextField t2;
    	int i=0;//用于标记学生
    	
    	public jbutton2(StudentA UI,JFrame j,JPanel p,JButton b3,JButton b4,JTextField t1,JTextField t2) {
    		this.UI=UI;
    		this.j=j;
    		this.b3=b3;
    		this.b4=b4;
    		this.p=p;
    		this.t1=t1;
    		this.t2=t2;
    	}
    	
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		//点击了删除按钮
    		if(e.getSource()==b3) {
    			
    			//清空面板
    			p.removeAll();
    			
    			while(true) {
    				if(StudentInformation.allStudent[i].getId().equals(t1.getText()) && StudentInformation.allStudent[i].getName().equals(t2.getText())) {
    					
    					//置为空则删除了学生
    					StudentInformation.allStudent[i].setId("null");
    					StudentInformation.allStudent[i].setName("null");
    					StudentInformation.allStudent[i].setSex("null");
    					StudentInformation.allStudent[i].setBirthday("null");
    					StudentInformation.allStudent[i].setPhone("null");
    					StudentInformation.allStudent[i].setDorm("null");
    					
    					i=0;//用于重新检测
    					StudentInformation.number2=StudentInformation.number;
    					//学生人数减少一个
    					StudentInformation.number--;
    					
    					//说明
    					
    					JLabel d2=new JLabel("学生信息已删除!!!");
    					d2.setBounds(30,30,150,20);
    					p.add(d2);
    					UI.paint();
    					break;
    				}
    				else {
    					i++;
    					//如果没有检测到学生的信息,则退出循环
    					if(i>=StudentInformation.number) {
    						i=0;//用于重新检测
    						JLabel l1=new JLabel("没有检测到学生的信息!!!");
    						JLabel l2=new JLabel("请清空后重新输入!!!");
    						l1.setBounds(30,30,200,20);
    						l2.setBounds(30,50,250,20);
    						p.add(l1);
    						p.add(l2);
    						UI.paint();
    						break;
    					}
    				}
    				
    			}
    		}
    		//点击了清空按钮
    		else if(e.getSource()==b4) {
    			//清空数据
    			t1.setText("");
    			t2.setText("");
    		}
    		
    	}
    	
    }
    
    
    //编写 修改学生 的查询,清除,修改,清除按钮的监听器
    class jbutton3 implements ActionListener{
    	
    	StudentA UI;//用于调用paint方法,重新绘制面板
    	JFrame j;//传递容器
    	JButton b3;//传递按钮
    	JButton b4;
    	JButton b5;
    	JButton b6;
    	JPanel p;//传递面板
    	JTextField t1 ;//传递文本框
    	JTextField t2;
    	JTextField t[]=new JTextField[6];
    	int i=0;//用于标记学生
    	
    	public jbutton3(StudentA UI,JFrame j,JPanel p,JButton b3,JButton b4,JButton b5,JButton b6,JTextField t1,JTextField t2,JTextField t[]) {
    		this.UI=UI;
    		this.j=j;
    		this.p=p;
    		this.b3=b3;
    		this.b4=b4;
    		this.b5=b5;
    		this.b6=b6;
    		this.t1=t1;
    		this.t2=t2;
    		this.t=t;
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		//点击了查询按钮
    		if(e.getSource()==b3) {
    			
    			//清空面板
    			p.removeAll();
    			
    			while(true) {
    				if(StudentInformation.allStudent[i].getId().equals(t1.getText())&&StudentInformation.allStudent[i].getName().equals(t1.getText())) {
    					StudentInformation.number++;
    					t[0].setText("请重新输入");
    					t[1].setText("请重新输入");
    					t[2].setText("请重新输入");
    					t[3].setText("请重新输入");
    					t[4].setText("请重新输入");
    					t[5].setText("请重新输入");
    					break;
    				}
    				
    				else if(StudentInformation.allStudent[i].getId().equals(t1.getText()) && StudentInformation.allStudent[i].getName().equals(t2.getText())) {
    					
    					t[0].setText(StudentInformation.allStudent[i].getId());
    					t[1].setText(StudentInformation.allStudent[i].getName());
    					t[2].setText(StudentInformation.allStudent[i].getSex());
    					t[3].setText(StudentInformation.allStudent[i].getBirthday());
    					t[4].setText(StudentInformation.allStudent[i].getPhone());
    					t[5].setText(StudentInformation.allStudent[i].getDorm());
    					break;
    				}
    				else {
    					i++;
    					//如果没有检测到学生的信息,则退出循环
    					if(i>=StudentInformation.number2) {
    						i=0;//用于重新查询
    						JLabel l1=new JLabel("没有检测到学生的信息!!!");
    						JLabel l2=new JLabel("请清空后重新输入!!!");
    						l1.setBounds(30,30,200,20);
    						l2.setBounds(30,50,250,20);
    						p.add(l1);
    						p.add(l2);
    						UI.paint();
    						break;
    					}
    				}
    				
    			}
    			
    		}
    		//点击了清空按钮
    		else if(e.getSource()==b4) {
    			//清空数据
    			t1.setText("");
    			t2.setText("");
    		}
    		//点击了修改按钮
    		else if(e.getSource()==b5) {
    			//修改学生信息
    			StudentInformation.allStudent[i].setId(t[0].getText());
    			StudentInformation.allStudent[i].setName(t[1].getText());
    			StudentInformation.allStudent[i].setSex(t[2].getText());
    			StudentInformation.allStudent[i].setBirthday(t[3].getText());
    			StudentInformation.allStudent[i].setPhone(t[4].getText());
    			StudentInformation.allStudent[i].setDorm(t[5].getText());
    			i=0;//用于重新检测
    			
    			//修改完成后,将文本区置为空
    			for(int j=0;j<6;j++) {
    				t[j].setText("");
    			}
    			t1.setText("");
    			t2.setText("");
    			
    			//说明
    			JLabel l1=new JLabel("修改学生信息成功!!!");
    			l1.setBounds(30,30,200,20);
    			p.add(l1);
    			UI.paint();
    		}
    		//点击了清空按钮
    		else if(e.getSource()==b6) {
    				//清空数据
    				for(int j=0;j<6;j++) {
    					t[j].setText("");
    				}
    			}
    	}
    	
    }
    
    
    
    
    	//编写学生事件监听类
     class StudentA implements ActionListener{
    			
    		public JPanel p;
    		public JButton a[];
    		JFrame f;
    		public StudentA(JPanel p,JButton a[],JFrame f){
    			this.p=p;
    			this.a=a;
    			this.f=f;
    		}
    		
    		//重写界面
    		void paint() {
    
    					//设置面板
    					p.setLocation(250,0);
    					p.setSize(550,400);
    					p.setBackground(Color.LIGHT_GRAY);
    					f.add(p);
    					//窗口不能调整
    					f.setResizable(false);
    					//显示窗口
    					f.setVisible(true);	
    		}
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			//点击了增加学生按钮
    			if(e.getSource()==a[0])
    			{
    				p.removeAll();//清空面板
    				//设置容器
    				JFrame j=new JFrame("录入学生");
    				j.setLocation(150,40);
    				j.setSize(200,230);
    				j.setLayout(new FlowLayout());
    				//窗口不能调整
    				j.setResizable(false);
    				//显示窗口
    				j.setVisible(true);	
    				
    				//添加学生界面内容
    				String s[]=new String[6];
    				JLabel l[]=new JLabel[6];
    				JTextField t[]=new JTextField[6];
    				
    				s[0]="学号:";
    				s[1]="姓名:";
    				s[2]="性别:";
    				s[3]="生日:";
    				s[4]="电话:";
    				s[5]="宿舍:";
    				for(int i=0;i<6;i++)
    				{
    					l[i]=new JLabel(s[i]);
    					t[i]=new JTextField (10);
    					j.add(l[i]);
    					j.add(t[i]);
    				}
    				//增加按钮
    				JButton b1=new JButton("加入");
    				JButton b2=new JButton("清除");
    				j.add(b1);
    				j.add(b2);
    				//创建事件类
    				jbutton j1=new jbutton(this,j,p,b1,b2,t);
    				b1.addActionListener(j1);
    				b2.addActionListener(j1);
    				
    			}
    			//点击了删除学生按钮
    			else if(e.getSource()==a[1]) {
    				p.removeAll();//清空面板
    				
    				//设置容器
    				JFrame j=new JFrame("删除学生");
    				j.setLocation(150,270);
    				j.setSize(200,130);
    				j.setLayout(new FlowLayout());
    				//窗口不能调整
    				j.setResizable(false);
    				//显示窗口
    				j.setVisible(true);	
    				
    				//添加学生界面内容
    				JLabel l1=new JLabel("学号:");
    				JLabel l2=new JLabel("姓名:");
    				JTextField t1=new JTextField(10);
    				JTextField t2=new JTextField(10);
    				j.add(l1);
    				j.add(t1);
    				j.add(l2);
    				j.add(t2);
    				
    				//增加按钮
    				JButton b3=new JButton("删除");
    				JButton b4=new JButton("清除");
    				j.add(b3);
    				j.add(b4);
    				
    				//创建事件类
    				jbutton2 j2=new jbutton2(this,j,p,b3,b4,t1,t2);
    				b3.addActionListener(j2);
    				b4.addActionListener(j2);
    				
    			}
    			//点击了修改学生按钮
    			else if(e.getSource()==a[2]) {
    				p.removeAll();//清空面板
    				
    				//设置容器
    				JFrame j=new JFrame("修改学生");
    				j.setLocation(1030,40);
    				j.setSize(200,330);
    				j.setLayout(new FlowLayout());
    				//窗口不能调整
    				j.setResizable(false);
    				//显示窗口
    				j.setVisible(true);
    				
    				//添加学生界面内容
    				JLabel l1=new JLabel("学号:");
    				JLabel l2=new JLabel("姓名:");
    				JTextField t1=new JTextField(10);
    				JTextField t2=new JTextField(10);
    				j.add(l1);
    				j.add(t1);
    				j.add(l2);
    				j.add(t2);
    				
    				//增加按钮
    				JButton b3=new JButton("查询");
    				JButton b4=new JButton("清除");
    				JButton b5=new JButton("修改");
    				JButton b6=new JButton("清除");
    				j.add(b3);
    				j.add(b4);
    				JLabel l3=new JLabel("请重新输入学生信息!!!");
    				j.add(l3);
    				//查找到学生的信息后,执行修改
    				//添加学生界面内容
    				String s[]=new String[6];
    				JLabel l[]=new JLabel[6];
    				JTextField t[]=new JTextField[6];
    				
    				s[0]="学号:";
    				s[1]="姓名:";
    				s[2]="性别:";
    				s[3]="生日:";
    				s[4]="电话:";
    				s[5]="宿舍:";
    				for(int i=0;i<6;i++)
    				{
    					l[i]=new JLabel(s[i]);
    					t[i]=new JTextField (10);
    					j.add(l[i]);
    					j.add(t[i]);
    				}
    				
    				j.add(b5);
    				j.add(b6);
    				
    				//创建事件类
    				jbutton3 j3=new jbutton3(this,j,p,b3,b4,b5,b6,t1,t2,t);
    				b3.addActionListener(j3);
    				b4.addActionListener(j3);
    				b5.addActionListener(j3);
    				b6.addActionListener(j3);
    			}
    			//点击了查询学生信息按钮
    			else if(e.getSource()==a[3]) {
    				
    				p.removeAll();//清空面板
    				
    				//设置容器
    				JFrame j=new JFrame("查询学生");
    				j.setLocation(1030,370);
    				j.setSize(200,330);
    				j.setLayout(new FlowLayout());
    				//窗口不能调整
    				j.setResizable(false);
    				//显示窗口
    				j.setVisible(true);
    				
    				//添加学生界面内容
    				JLabel l1=new JLabel("学号:");
    				JLabel l2=new JLabel("姓名:");
    				JTextField t1=new JTextField(10);
    				JTextField t2=new JTextField(10);
    				j.add(l1);
    				j.add(t1);
    				j.add(l2);
    				j.add(t2);
    				
    				//增加按钮
    				JButton b3=new JButton("查询");
    				JButton b4=new JButton("清除");
    				JButton b5=new JButton("查询所有学生信息");
    				j.add(b3);
    				j.add(b4);
    				JLabel l3=new JLabel("    查询到学生的信息如下:");
    				j.add(l3);
    				
    				//添加学生界面内容
    				String s[]=new String[6];
    				JLabel l[]=new JLabel[6];
    				JTextField t[]=new JTextField[6];
    				
    				s[0]="学号:";
    				s[1]="姓名:";
    				s[2]="性别:";
    				s[3]="生日:";
    				s[4]="电话:";
    				s[5]="宿舍:";
    				for(int i=0;i<6;i++)
    				{
    					l[i]=new JLabel(s[i]);
    					t[i]=new JTextField (10);
    					//设置文本框不可修改,只能查看
    					t[i].setEditable(false);
    					j.add(l[i]);
    					j.add(t[i]);
    				}
    				
    				j.add(b5);
    				
    				//创建事件类
    				jbutton4 j4=new jbutton4(this,j,p,b3,b4,b5,t1,t2,t);
    				b3.addActionListener(j4);
    				b4.addActionListener(j4);
    				b5.addActionListener(j4);
    				
    			}
    		}
    			
    }		
    	
    
    展开全文
  • 系统附有数据库,只需要加载即可使用,其中,用天启动进度条,闪屏,用户登陆(普通用户+管理员),可根据用户的权限不同进入不同的后台界面进行不同的操作,可进行学生管理与登陆用户管理,即增,删,改,查,...
  • 学生信息管理系统
  • 广工数据库课程设计(学生信息管理系统java+mysql)内含数据库文件,java源代码,jar文件以及课设报告
  • 全栈实现学生信息管理系统,未使用框架,适合初学web开发者。压缩包中包括前端、后端、数据库(数据库建表文件StudentMS\web\sql) 前端:html、css、JavaScript、jquery、ajax 后端:java、jdbc、servlet、org.json...
  • java编写的学生信息管理系统,GUI界面,文件保存为txt 实现了增删改查等基本功能 详情请看我的博客
  • 简单的学生信息管理系统java源码,包含数据库导出的sql文件,源码在eclipse上可运行。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • (2)增加学生记录模块,主要实现学生的学号,姓名,性别,家庭住址,各科成绩的录入和...(9)学生信息导出模块,可以在主页面对学生信息进行导出成文本文档进行保存。 (10)退出系统功能,可以在右上角点击关闭。
  • 学生信息管理系统java

    2012-06-20 17:23:43
    设计的学生信息管理系统 适用于课程设计 毕业设计的参考 全部java语言编写 生成了应用程序
  • JAVA 学生信息管理系统
  • 学生信息管理系统 功能说明 学生信息管理,包括学生、班级、院系、课程、成绩等的管理。 本程序仅供学习食用。 工程环境 JDK IntelliJ IDEA MySQL 运行说明 1、安装JDK。 2、导入SQL脚本并配置。 使用前...
  • java语言实现一个简单的学生信息管理系统
  • 学生信息管理系统java+sql

    热门讨论 2015-03-13 13:48:42
    基于java连接sql数据库的学生信息管理系统,单独有测试jdbc连接的简单代码,数据库需要根据自己设置进行修改,只面向初学者提供参考。
  • 百度云链接分享; 计科大二下课程设计; 开发环境为jdk8+eclipse+mysql; 源码全面可运行,可作为计科本科生课程设计和毕业设计的参考;
  • 基于java swing的学生信息管理系统.包含基本的登陆、注册和学生信息的显示、添加、修改、删除、查询等功能。运行环境为jdk12
  • java开发学生信息管理系统Java源码
  • 主要为大家详细介绍了java实现学生成绩信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • JAVA-学生信息管理系统 1. 分三大对象:管理员、教师、学生;可实现基本的增删改查,如添加各个对象的信息修改各个对象的信息、删除各个对象的信息、输出各个对象的信息等功能 2. 功能完善;由登录窗口、内部窗口、...
  • 主要为大家详细介绍了Java+MySQL实现学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 此资源对应于我博客上发布的学生信息管理系统JAVA代码,我一共传了代码、MySQL数据库资源和完整的实验报告,三份可以下载下来就可以当一次很优秀的课程设计作业。
  • Java学生信息管理系统源码,源代码系统。 Java学生信息管理系统源码包! 值得下载看看!资源免费,大家分享!! java
  • 通过java代码连接mysql数据库(JDBC),实现对数据库中表格的增删查改操作,同时增加了"注册"功能,内有java源代码和简单的PPT介绍,适用于初学数据库的人员。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,006
精华内容 26,402
关键字:

学生信息管理系统java

java 订阅