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

上传人:tbuqq 文档编号:5488961 上传时间:2020-05-23 格式:PDF 页数:43 大小:3MB
返回 下载 相关 举报
学生信息管理系统java课程设计含源代码.pdf_第1页
第1页 / 共43页
学生信息管理系统java课程设计含源代码.pdf_第2页
第2页 / 共43页
学生信息管理系统java课程设计含源代码.pdf_第3页
第3页 / 共43页
学生信息管理系统java课程设计含源代码.pdf_第4页
第4页 / 共43页
学生信息管理系统java课程设计含源代码.pdf_第5页
第5页 / 共43页
点击查看更多>>
资源描述

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

1、标准文档 实用文案 JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩: 指 - 1 - 目录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会 23 五、参考文献 24 六、附录 24 - 2 - 一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地

2、、专业、班级总学分, 在插入时,如果数据库已经存在该学号,则不能再插入该学号。 1.2 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行 修改。 1.3 、查询学生基本信息的功能 可使用 “ 姓名” 对已存有的学生资料进行查询。 1.4 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、 简单易 用的信息管理系统不但能

3、有效地减轻学校相关工作人员的工作负担,它的内容对 于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用 户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理 文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密 性差、人工的大量浪费; 另外时间一长, 将产生大量的文件和数据, 这对于查找、 更新和维护都带来了不少困难。 随着科学技术的不断提高, 计算机科学日渐成熟, - 3 - 其强大的功能已为人们深刻认识, 它已进入人类社会的各个领域并发挥着越来越 重要的作用。 作为计算机应用的一部分, 使用计算机对学校的各类信息进行管理,具有手 工管理

4、无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储 量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的 效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合, 按照学院 的工作流程设计完成的。 通过一个简化的学生信息管理系统,使学生信息管理工 作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 图 1 功能模块划分图 学生信息管理系统 浏 览 学 生 信 息 查 询 学 生 信 息 添 加 学 生 信 息 修 改 学 生 信 息 删 除 学 生 信

5、息 普通学生(用户) 模块 班委(管理员) 模块 浏 览 学 生 信 息 查 询 学 生 信 息 学生管理登陆管理 修 改 登 陆 密 码 显 示 登 陆 用 户 - 4 - 2、数据库结构描述 2.1 、数据库 E-R模型 图 2 登录用户管理E-R 图 图 3 实体学生 E-R 图 2.2 、数据库关系模型二维表 表 1 学生表( student ) 字段数据类型说明 stuId nvarchar(30) 学号 stuName nvarchar(30) 姓名 stuSex nvarchar(30) 性别 stuAge int 年龄 stuJg nvarchar(30) 籍贯 登录用户管理

6、账号密码职位 学 生 总学分 出生地年龄 专业性别 姓名 学号 班级 - 5 - stuZy nvarchar(30) 专业 classId nvarchar(30) 班号 stuSourse numeric(5,2) 总学分 图 4 录入数据后的学生表 表 2 登陆权限表(login ) 字段数据类型说明 userId nvarchar(30) 用户名(账号),即登陆 Id password nvarchar(30) 登陆密码 position nvarchar(30) 职位,如班委,普通学生 图 5 录入数据后的登陆权限表 - 6 - 3、系统详细设计文档 3.1 、系统执行流程图 图 6

7、 系统执行流程图 进度条(闪屏) 用户登陆 登陆验证 false true 班委(管理员)界面普通学生界面 查询添加修改删除查询显示 班委(管理员)普通学生(用户) 退出 退出系统 结束结束 退出系统 true false false true 修改 用户 登陆 密码 显示 登陆 用户 信息 - 7 - 3.2 、类的划分 表 3 学生信息查询类 类名类的成员属性与方法说明 StuQuery.java JPanel jp1 定义一个面板 JLabel jp1_jl1 定义两个标签 JTextField jp1_jtf1 定义一个文本输入框 JButton jp1_jb1,jp1_jb2,jp1

8、_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

9、.java JLabel 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,m

10、odel) 调用父类的构造方法, 实现模式对话 public UpdateStu(Frame Main,String title,TableModel tm,int rowNo,boolean model) 因为要修改信息,那么 必须要获得所选中的那 一行的所有信息,把它 们添加到文本框作为默 认值,因此构造方法还 - 8 - 应添加一个参数即传递 一个模型 tm,并传递所 选中的行号 row public void actionPerformed(ActionEvent e) 事件响应方法 表 5 修改管理人员信息类 类名类的成员属性与方法说明 UpdateLogin.java JLabel

11、 jl1,jl2,jl3 定义三个标签,即用户名, 密码,职位 JTextField jtf1,jtf2,jtf3 定义三个文本框,对应三个 标签的值 JButton jb1,jb2,jb3 定义三个按钮,用于事件响 应 JTable jtb 定义一个表格,用于显示登 陆用户信息 PurViewModel pvm 自定义登陆用户信息的数据 更新模型 public void upView() 这是修改账户信息权限的界 面函数的封装 public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model

12、) 因为要修改信息,那么必须 要获得所选中的那一行的所 有信息,把它们添加到文本 框作为默认值,因此构造方 法还应添加一个参数即传递 一个模型 tm,并传递所选中 的行号 row super(Main,title,model) 调用父类的构造方法,实现 模式对话 public void actionPerformed(ActionEvent e) 事件响应方法 表 6 表模式 - 更新数据 类名类的成员属性与方法说明 TableModel.java Vector rowData,row,column 定义表格所需要的集合(表, 行,列) ResultSet rs 定义一个记录集,用于接收从 数

13、据库返回来的记录集 SqlConn conn 定义一个用于连接数据库的对 象, SqlConn 是连接数据库的类 public TableModel(String 构造方法,并传一个 SQL 语句, - 9 - sql) 实现查询操作 public String getColumnName(int column) 这是一个重写的方法,用于设 置表的列名 public int getColumnCount() 得到数据模型记录集的列数 public int getRowCount() 得到数据模型记录集的行数 public Object getValueAt(int arg0, int arg1

14、) 得到数据模型记录集某行某列 的值 4、各个模块的实现方法描述 说明:此处只包含了个人完成的模块的实现方法描述 4.1 、学生信息查询 学生信息查询窗口, 采用了基于管理窗口, 即主界面的对话框实现, 实现方 法如下: 1)定义查询所需要的面板和组件。 2)调用父类的构造方法,实现模式对话。 3)进行学生信息查询。 4.2 、修改管理人员信息 修改管理人员信息的界面, 通过模式对话,即继承 JDialog 对话框来实现的, 实现方法如下: 1)定义修改学生信息的相关组件。 2)加载数据库,获得选中的那一行的所有信息。 3)把组件添加到窗体。 4)调用父类的构造方法,实现模式对话。 5)调用修

15、改用户权限信息的界面的方法。 6)修改管理人员信息。 7)调用数据库连接,并设置操纵更新的sql 语句。 - 10 - 4.3 、修改学生信息 修改学生信息的界面, 通过模式对话, 即继承 JDialog 对话框来实现, 实现 方法如下: 1)定义修改学生信息的相关组件。 2)加载数据库,获得选中的那一行的所有信息。 3)把组件添加到窗体。 4)调用父类的构造方法,实现模式对话。 5)调用修改学生信息的界面的方法。 6)修改学生信息。 7)完成相应功能。 4.4 、更新数据 这是一个表模型,用于数据更新,实现方法如下: 1)定义表格所需要的集合。 2)定义一个记录集,用于接收从数据库返回来的记

16、录集。 3)定义一个用于连接数据库的对象。 4)设置表格的列名。 5)创建表的记录集。 6)调用数据库连接。 7)设置表的列名,并得到表的列数和行数。 8)得到某行某列的值。 - 11 - 5、测试数据及期望结果 5.1 、学生信息查询数据测试及期望结果 数据测试及期望结果如下图: 图 7 为学生登录后的最初界面; 图 8 为学生查看所有信息界面; 图 9 为全部学生的信息记录(此处同时运用到了TableModel类); 图 10 则是实现了此处的查询功能,测试数据为: 姓名:肖立本 期望结果将显示以下数据: 学号: 904325 姓名:肖立本性别:男年龄: 23 出生地:安徽 专业:信息管理

17、班级: 9040303 总学分: 542.5 图 7 学生信息管理系统 - 12 - 图 8 学生信息管理系统- 显示记录 图 9 学生信息管理系统- 显示所有信息 - 13 - 图 10 学生信息管理系统- 学生信息查询 5.2 、修改管理人员数据测试及期望结果 数据测试及期望结果如下图: 图 11 将显示出所有管理人员信息。此处测试的数据为: 账号 1:admin 密码 1:admin 职位 1:班委 账号 2:user 密码 2:user 职位 2:普通学生 图 12 是弹出的修改密码窗口。此处可将密码admin 修改为其它值。 - 14 - 图 11 显示所有管理人员信息 图 12 修

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

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

20、6 修改和删除警告框图 11、删除文件时的确认对话框(点击确认时会删除,点击取消,则返回主界面) 图 27 删除学生确认对话框 - 21 - 12、显示所有登陆用户信息 图28 显示登录用户信息示意图 13、修改用户登陆密码,选中某个用户进行修改 图29 修改用户登录密码界面示意图 14、关闭用户记录,即不显示所有用户信息 图 30 关闭用户记录示意图 15、关闭学生记录 图 31 关闭学生记录示意图 - 22 - 16、退出系统确认对话框 只有确认时才会退出系统,否则返加主界面 图32 退出系统 17、普通学生登陆后的界面 (即不能对学生信息进行添加,修改和删除以及用户 密码修改,对应的这几

21、项灰色显示,不可点击) 图33 学生登录界面(1) 图34 学生登录界面(2) - 23 - 四、心得体会 这次为期一周的课程设计让我对java 有了新的认识,首先我接触了很多上 课见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了 C语言、 C+ 等,虽然当时学的还不错,由于学的都是入门知识,所以自己做的 程序只能实现一定的功能,和自己平时用的软件相差很大。这学期刚开课学 java ,虽然知道这是一门很有用的语言,但是却感觉没什么新鲜感, 它的跨平台 特性也只是听听, 根本没有认识, 由于平时学习不刻苦, 也没有时间静下心来写 过 java 代码,当得知最后期末最后一周将进行

22、java 课程设计,才静下心来开始 研究 java ,结合以前的编程知识,做起了自己的程序。与此同时,我们也在进 行数据库课程设计,和这个系统相类似,做起来比较熟练,同时想通过做课程 设计将数据库和 java 更好的结合运用起来,感觉这样才能够更贴近实际应用。 这次课程设计使我对java 的跨平台性有了进一步认识,同时加深了课堂上 所学到的知识。 虽然这是第三次课程设计, 并且自己也有了两年的上机实验,但 我不得不说这一次课程设计是前两次以及任何一节上机实验课都不可比的。在课 程设计这一段时间, 使我收获了很多在上机课上无法学习到的知识,尤其是需求 分析和 eclipse熟练的使用。因为这一部

23、分知识的不熟练, 在程序设计过程中遇 到了不少困难,但通过老师的指导和一次又一次的指导、改写、调试,将这些困 难都解决了,心中的喜悦感油然而生。 为了能使程序更加的完善, 更加人性化, 我也利用了不少的课余时间,查找 了各方面的资料, 看到一个小型系统能够展示在电脑屏幕上时,感觉自己这段时 间的付出是非常值得的,也使我对java 产生了更浓厚的兴趣,对自己的学习以 及将来的工作都是有很大的帮助的。 整个课程设计过程让我的java 知识得到了应用,体验了程序员编程时的喜 怒哀乐,知识、心智,得到全方位提升,收获颇丰。 - 24 - 五、参考文献 著作文献: 1 赵海廷 .Java 语言程序设计教

24、程 . 北京: 清华大学出版社 .2012 2 孙印杰 , 刘斌, 孙玉强 .Java 编程案例精解 . 北京: 电子工业出版社 .2005 3 何梅.java 编程实例系列丛书 . 北京:清华大学出版社,2002 4 杨昭. 二级 Java 语言程序设计教程 . 北京:中国水利水电出版社,2006 5 赵文靖 .Java 程序设计基础与上机指导. 北京:清华大学出版社, 2006 六、附录 1、功能:这是学生信息查询窗口,采用基于管理窗口,即 主界面的对话框实现 package com.View; import java.awt.*; import java.awt.event.Action

25、Event; import java.awt.event.ActionListener; import javax.swing.*; import com.Tools.MyFont; publicclass StuQuery extends JDialog implements ActionListener / 定义查询所需要的面板和组件 JPanel jp1 ; JLabel jp1_jl1; JTextField jp1_jtf1; JButton jp1_jb1, jp1_jb2, jp1_jb3; JTable jtb ; JScrollPane jsp ; TableModel tm

26、; - 25 - 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 JButton(“查 询-“ ); jp1_jb1.setFont(MyFont.f1 ); jp1_jb1.addActionList

27、ener(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 .add(jp1_jb2); jp1 .add(jp1_jb3); jtb =ne

28、w JTable(); jsp =new JScrollPane(jtb ); this.add(jp1 , “North“); this.add(jsp , “Center“); this.setSize(600,400); this.setVisible(true); - 26 - Override publicvoid actionPerformed(ActionEvent arg0) / TODO Auto-generated method stub / 如果点击了查询按钮 if (arg0.getSource()=jp1_jb1) / 获取文本框的值 String stuName=j

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

30、del(tm); - 27 - 2、功能:这是一个表模型,用于更新数据 package com.View; import com.SqlConnection.*;/ 引入数据库连接的包 import java.sql.*; import java.util.*; import javax.swing.table.AbstractTableModel; import com.SqlConnection.SqlConn; publicclass TableModel extends AbstractTableModel / 定义表格所需要的集合 Vector rowData , row , col

31、umn ; / 定义一个记录集,用于接收从数据库返回来的记录集 ResultSet 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(“出生地 “); - 28 - col

32、umn .add(“专业 “ ); column .add(“班级 “ ); column .add(“总学分 “); / 创建表的记录集 rowData =new Vector(); / 调用数据库连接 conn =new SqlConn(); 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.ad

33、d(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.printStackTrace(); / TODO : handle exception - 29 - Override / 设置表的列名 public String getColumnName(int column) / TODO Auto-generated method stub return (String)

34、this. column .get(column); Override / 得到的列数 publicint getColumnCount() / TODO Auto-generated method stub returnthis. column .size(); / 得到的行数 Override publicint getRowCount() / TODO Auto-generated method stub returnthis. rowData .size(); Override / 得到某行某列的值 public Object getValueAt(int arg0, int arg1

35、) / TODO Auto-generated method stub return (Vector)this. rowData .get(arg0).get(arg1); - 30 - 3、 功能:这是修改管理人员信息的界面,通过模式对话 (即 继承 JDialog对话框)来实现 package com.View; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import com.SqlConnection.S

36、qlConn; import com.Tools.MyFont; publicclass UpdateLogin extends JDialog implements ActionListener / 定义修改学生信息的相关组件 JLabel jl1, jl2, jl3; JTextField jtf1, jtf2, jtf3; JButton jb1 , jb2 , jb3 ; / 这是修改账户信息权限的界面函数的封装 publicvoid upView() / 加载数据库,获得选中的那一行的所有信息 jl1=new JLabel(“ 账 号: “ ); / 因为账号是主键,设置文本框不可编

37、辑的同时,一般也设置标签灰色显示,以 区别其他标签 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); - 31 - jl3=new JLabel(“ 职 位: “ ); jl3.setEnabled(false); jl3.setFont(MyFont.f1 ); jl3.setBounds(20, 60, 60, 25)

38、; 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); jb1 =new JButton(“ 修 改“ ); jb1 .setFont(MyF

39、ont.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 ); - 32 - jb3 .setBounds(190,100,80,25); jb3 .addActionList

40、ener(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,并传递所选中的行号 row publicUpdateLogin(Frame Main,S

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

42、String position=(String)pvm.getValueAt(rowNo, 2); / 设置广本框的值 jtf1.setText(userId); jtf2.setText(password); jtf3.setText(position); / 设置窗体的属性 this.setSize(465,170); this.setVisible(true); this.setResizable(false); Override publicvoid actionPerformed(ActionEvent e) / TODO Auto-generated method stub / 当

43、点击了修改按钮 if (e.getSource()=jb1 ) / 获取文本框的信息 String userId=jtf1.getText().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=ne

44、w SqlConn(); sqlconn.sqlUpdate(sql); - 34 - / 关闭交资源 sqlconn.closeSqlConn(); / 关闭与数据库连接的资源后,再关闭对话框,否则数据不能自动在表中更 新显示出来 this.dispose(); / 如果点击了取消按钮,则关闭模式对话框 elseif (e.getSource()=jb2 ) this.dispose(); / 如果点击了清除按钮,则清除所有的广本框的内容,除了学号 elseif (e.getSource()=jb3 ) / 由于账号是主键,则不能清空! jtf2.setText(“ ); 4、功能:这是修改

45、学生信息的界面,通过模式对话(即继 承 JDialog对话框)来实现 package com.View; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import com.SqlConnection.SqlConn; - 35 - import com.Tools.MyFont; publicclass UpdateStu extends JDialog implements ActionListener / 定

46、义修改学生信息的相关组件 JLabel jl1, jl2, jl3, jl4, jl5, jl6, jl7, jl8; JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7, jtf8; JButton jb1 , jb2 , jb3 ; intstuAge =0; Double stuSourse=0.0; / 这是修改学生信息的界面函数的封装 publicvoid upView() / 加载数据库,获得选中的那一行的所有信息 jl1=new JLabel(“ 学 号: “ ); / 因为学号是主键,设置文本框不可编辑的同时,一般也设置标签灰

47、色显示,以 区别其他标签 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.setFont(MyFont.f1 ); jl3.setBounds(20, 60, 60, 25); - 36 - jl4=new JLabel(“ 年 龄: “ ); jl4.set

48、Font(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=new JLabel(“ 班 级: “ ); jl7.setFont(MyFont.f1 ); jl7.setBounds(20, 180, 60, 25)

49、; 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.createLoweredBevelBorder(); jtf2=new JTextField(20); jtf2.setBounds(300, 20, 130, 25); jtf2.setBorder(BorderFactory.createLoweredBevelBorder(); - 37 - jtf3=new JTextF

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1