版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、蚄 荿薆薃JAVA程序设计 课程设计报告肃腿蚇课 题: 学生信息管理系统 羆姓 名: 蒂学 号: 衿同组姓名: 虿专业班级: 肄指导教师: 羂设计时间: 蚀蒆蒇莁评阅意见:莀薇薅肅肁蕿蚃评定成绩:蒄 指导老师签名:袁 年 月 日莆 肆袃 薁蒈膄目 录莃莂一、系统描述2蕿1、需要实现的功能3薆2、设计目的3螂二、分析与设计3肂1、功能模块划分3莆2、数据库结构描述4蚅3、系统详细设计文档6膁4、各个模块的实现方法描述9薈5、测试数据及期望结果11莈三、系统测试16螃四、心得体会23蚁五、参考文献24艿六、附录24葿膆芄聿芆羀一、系统描述蒀1、需求实现的功能薆1.1、录入学生基本信息的功能肄学生基
2、本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。莂1.2、修改学生基本信息的功能衿 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。芆1.3、查询学生基本信息的功能肅可使用 “姓名”对已存有的学生资料进行查询。蒁1.4、删除学生基本信息的功能 莈在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。羆1.5、用户登陆袂用不同的登录权限可以进入不同的后台界面,从而实现权限操作。袃1.6、用户登陆信息设置螈可以修改用户登陆密码螇2、设计目的羄学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简
3、单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。羁作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。
4、例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。膇本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。蒇羅二、分析与设计肀1、功能模块划分袀芇学生信息管理系统螃浏览学生信息蒂查询学生信息芀添加学生信息羈修改学生信息袄删除学生信息薀普通学生(用户)模块蝿班委(管理员)模块蒄羅浏览学生信息羃查询学生信息腿学生管理膄蚃登陆管理肁
5、薈修改登陆密码羅显示登陆用户螄图1 功能模块划分图膀羇蚅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)莃籍贯蚂stuZy芈nvarchar(30)薅专业蒅cl
6、assId袀nvarchar(30)蚈班号莆stuSourse节numeric(5,2)膂总学分肇肆芃图4 录入数据后的学生表芁螁表2 登陆权限表(login)袇字段莅数据类型葿说明芀userId薇nvarchar(30)膂用户名(账号),即登陆Id螂password虿nvarchar(30)莇登陆密码膃position袀nvarchar(30)聿职位,如班委,普通学生肈芅节图5 录入数据后的登陆权限表蒈螈肂莁羇芄膄3、系统详细设计文档葿3.1、系统执行流程图莇肅进度条(闪屏)膅用户登陆袁登陆验证肀false螅true羂班委(管理员)界面羀普通学生界面蒀查询薆添加肄修改莂删除衿查询芆显示肅班委
7、(管理员 )蒁普通学生(用户)莈退出羆退出系统袂结束袃结束螈退出系统螇true羄false羁false膇true蒇修改用户登陆密码羅显示登陆用户信息肀袀芇螃蒂芀羈袄薀蝿蒄羅羃腿膄蚃肁薈羅螄膀羇蚅袆图6 系统执行流程图薂蒇蒆蚃3.2、类的划分蚀膀表3 学生信息查询类膆类名蚄类的成员属性与方法肃说明蕿StuQuery.java羆JPanel jp1蒂定义一个面板罿JLabel jp1_jl1蚇定义两个标签艿JTextField jp1_jtf1莈定义一个文本输入框薄JButton jp1_jb1,jp1_jb2,jp1_jb3蚂定义三个按钮膈JTable jtb膈定义一个表羃JScrollPane
8、 jsp蚄定义一个滚动面板,用于存放表衿TableModel tm蚆自定义一个表模型,用于更新表数据芀public StuQuery(Frame Main,String title ,boolean model)羇构造方法,通过传递三个参数,实现对话袁super(Main,title,model)肈调用父类的构造方法,实现模式对话薅public void actionPerformed(ActionEvent arg0)薁事件响应方法聿蒈表4 修改学生信息类羄类名莁类的成员属性与方法膁说明薆UpdateStu.java莄JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl
9、8肂定义八个标签,用于设置数据库表的字段名羈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)莅调用父类的构造方法,实现模式对话罿public UpdateStu(Frame Ma
10、in,String title,TableModel tm,int rowNo,boolean model)蚆因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row螄public void actionPerformed(ActionEvent e)羁事件响应方法肈芄表5 修改管理人员信息类薄类名螈类的成员属性与方法膇说明蚃UpdateLogin.java肀JLabel jl1,jl2,jl3袀定义三个标签,即用户名,密码,职位肃JTextField jtf1,jtf2,jtf3螁定义三个文
11、本框,对应三个标签的值蚇JButton jb1,jb2,jb3螆定义三个按钮,用于事件响应蚈JTable jtb螆定义一个表格,用于显示登陆用户信息芁PurViewModel pvm螀自定义登陆用户信息的数据更新模型蚅public void upView()羂这是修改账户信息权限的界面函数的封装膇public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)肄因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm
12、,并传递所选中的行号row蚈super(Main,title,model)蕿调用父类的构造方法,实现模式对话蒃public void actionPerformed(ActionEvent e)蚀事件响应方法蚇羃表6表模式-更新数据芃类名螁类的成员属性与方法螆说明薆TableModel.java羃Vector rowData,row,column蕿定义表格所需要的集合(表,行,列)肆ResultSet rs螄定义一个记录集,用于接收从数据库返回来的记录集芆SqlConn conn蒅定义一个用于连接数据库的对象,SqlConn是连接数据库的类膂public TableModel(String s
13、ql)膀构造方法,并传一个SQL语句,实现查询操作蒁public String getColumnName(int column)羀这是一个重写的方法,用于设置表的列名螅public int getColumnCount()膂得到数据模型记录集的列数莆public int getRowCount()芄得到数据模型记录集的行数肂public Object getValueAt(int arg0, int arg1)蝿得到数据模型记录集某行某列的值蚃蚂4、各个模块的实现方法描述袀 说明:此处只包含了个人完成的模块的实现方法描述袇莇4.1、学生信息查询莃学生信息查询窗口,采用了基于管理窗口,即主界面
14、的对话框实现,实现方法如下:袁1)定义查询所需要的面板和组件。芀2)调用父类的构造方法,实现模式对话。螆3)进行学生信息查询。膃蚈4.2、修改管理人员信息莈修改管理人员信息的界面,通过模式对话,即继承JDialog对话框来实现的,实现方法如下:膆1)定义修改学生信息的相关组件。袄2)加载数据库,获得选中的那一行的所有信息。螀3)把组件添加到窗体。蒆4)调用父类的构造方法,实现模式对话。蚅5)调用修改用户权限信息的界面的方法。蚄6)修改管理人员信息。袁7)调用数据库连接,并设置操纵更新的sql语句。衿肄4.3、修改学生信息莄修改学生信息的界面,通过模式对话,即继承JDialog对话框来实现,实现
15、方法如下:虿1)定义修改学生信息的相关组件。羇2)加载数据库,获得选中的那一行的所有信息。蒄3)把组件添加到窗体。膅4)调用父类的构造方法,实现模式对话。蚀5)调用修改学生信息的界面的方法。荿6)修改学生信息。膇7)完成相应功能。薁螁4.4、更新数据蒈这是一个表模型,用于数据更新,实现方法如下:薇1)定义表格所需要的集合。莁2)定义一个记录集,用于接收从数据库返回来的记录集。蕿3)定义一个用于连接数据库的对象。薆4)设置表格的列名。肆5)创建表的记录集。肂6)调用数据库连接。薀7)设置表的列名,并得到表的列数和行数。罿8)得到某行某列的值。蒅袂蚁肇袅薃葿5、测试数据及期望结果葿5.1、学生信息
16、查询数据测试及期望结果莄数据测试及期望结果如下图:芃图7为学生登录后的最初界面;蒀图8为学生查看所有信息界面;薈图9为全部学生的信息记录(此处同时运用到了TableModel类);羇图10则是实现了此处的查询功能,测试数据为:肃 姓名:肖立本薂 期望结果将显示以下数据:蚆学号: 姓名:肖立本 性别:男 年龄:23 出生地:安徽 专业:信息管理 班级: 总学分:542.5蒇螄图7 学生信息管理系统荿羈袆图8 学生信息管理系统-显示记录薄蒀膇图9 学生信息管理系统-显示所有信息芆芅蒂图10 学生信息管理系统-学生信息查询葿螅5.2、修改管理人员数据测试及期望结果肅数据测试及期望结果如下图:艿图11
17、将显示出所有管理人员信息。此处测试的数据为:薈 账号1:admin 密码1:admin 职位1:班委膄 账号2:user 密码2:user 职位2:普通学生蒁图12是弹出的修改密码窗口。此处可将密码admin修改为其它值。莀螆图11 显示所有管理人员信息薄节莂图12 修改管理人员信息窗口肈芇5.3、修改学生信息数据测试及期望结果羂数据测试及期望结果如下图:腿图13为全部学生的信息记录(此处同时运用到了TableModel类);膇图14是弹出的修改学生信息窗口:蚆 测试数据:姓名:杨明辉蒈 期望结果:可修改姓名、性别、年龄、出生地、专业、班级和总学分。羇莅袂麦档网艿肈图13 学生信息管理系统-显
18、示所有信息蒃芁罿袅图14 修改学生信息窗口螆蚀虿三、系统测试袇1、系统启动界面羄膀图15 系统启动界面蒀2、用户登录界面羈肂图16 用户登录界面袃膀3、班委(管理员)界面,即具有完全权限的用户后台界面螅莅图17 管理员界面芃羁4、班委(管理员)界面子菜单项显示螇薃图18 管理员界面子菜单-系统界面蚂蒇图19 管理员界面子菜单-学生管理界面袈袆图20 管理员界面子菜单-系统设置界面肁5、学生信息查询界面膇蚆图21 学生信息查询羄6、学生信息查询结果显示薁袈图22 学生信息查询显示螇7、添加学生信息界面膂在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时:羀蚈图23
19、添加学生信息螈8、修改学生信息界面(学号是主键,灰色显示,即不可更改)蒅荿图24 修改学生信息莈薆9、显示所有学生信息薃肃图25 显示所有信息腿蚇10、当没有选中一行的时候,不能修改和删除,并弹出提示警告框羆蒂图26 修改和删除警告框图衿蒄11、删除文件时的确认对话框(点击确认时会删除,点击取消,则返回主界面)肄羂图27 删除学生确认对话框蚀蒆12、显示所有登陆用户信息膂莁图28 显示登录用户信息示意图莀13、修改用户登陆密码,选中某个用户进行修改薇薅图29 修改用户登录密码界面示意图螀14、关闭用户记录,即不显示所有用户信息肀莄图30 关闭用户记录示意图蚃15、关闭学生记录芀袁图31 关闭学
20、生记录示意图莆16、退出系统确认对话框肅只有确认时才会退出系统,否则返加主界面羃莇图32 退出系统蒇17、普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户膄密码修改,对应的这几项灰色显示,不可点击)莂肇图33 学生登录界面(1)芅节图34 学生登录界面(2)螂四、心得体会袈这次为期一周的课程设计让我对java有了新的认识,首先我接触了很多上课见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言、C+等,虽然当时学的还不错,由于学的都是入门知识,所以自己做的程序只能实现一定的功能,和自己平时用的软件相差很大。这学期刚开课学java,虽然知道这是一门很有用的语
21、言,但是却感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,由于平时学习不刻苦,也没有时间静下心来写过java代码,当得知最后期末最后一周将进行java课程设计,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。与此同时,我们也在进行数据库课程设计,和这个系统相类似,做起来比较熟练,同时想通过做课程设计将数据库和java更好的结合运用起来,感觉这样才能够更贴近实际应用。 莆这次课程设计使我对java的跨平台性有了进一步认识,同时加深了课堂上所学到的知识。虽然这是第三次课程设计,并且自己也有了两年的上机实验,但我不得不说这一次课程设计是前两次以及任何一节上机实验课都不可比
22、的。在课程设计这一段时间,使我收获了很多在上机课上无法学习到的知识,尤其是需求分析和eclipse熟练的使用。因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,但通过老师的指导和一次又一次的指导、改写、调试,将这些困难都解决了,心中的喜悦感油然而生。蚅为了能使程序更加的完善,更加人性化,我也利用了不少的课余时间,查找了各方面的资料,看到一个小型系统能够展示在电脑屏幕上时,感觉自己这段时间的付出是非常值得的,也使我对java产生了更浓厚的兴趣,对自己的学习以及将来的工作都是有很大的帮助的。膁整个课程设计过程让我的java知识得到了应用,体验了程序员编程时的喜怒哀乐,知识、心智,得到全方位
23、提升,收获颇丰。薈 莇螃蚁艿五、参考文献膅著作文献:膅1 赵海廷.Java语言程序设计教程.北京:清华大学出版社.2012肀2 孙印杰,刘斌,孙玉强.Java编程案例精解.北京:电子工业出版社.20053 何梅.java编程实例系列丛书.北京:清华大学出版社,20024 杨昭.二级Java语言程序设计教程.北京:中国水利水电出版社,20065 赵文靖.Java程序设计基础与上机指导.北京:清华大学出版社,2006 聿芆六、附录芄1、功能:这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现螃package com.View;蝿import java.awt.*;肃import java
24、.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;蕿JTextField jp1_jtf1;螇JButton jp1_jb1,jp1_jb2,jp1_jb3;螆JTable jtb;羄JScrollPane jsp;
25、羁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 JButton(查 询-);袄jp1_jb1.setFont(MyFont.f1);薀jp1_jb1.addActionListener
26、(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=new JTable();薁jsp=
27、new JScrollPane(jtb);薂this.add(jp1,North);蒆this.add(jsp,Center);蒅this.setSize(600,400);蚃this.setVisible(true);蚀袆 膆Override蚄public void actionPerformed(ActionEvent arg0) 螈/ TODO Auto-generated method stub蕿/如果点击了查询按钮羆if(arg0.getSource()=jp1_jb1)蒁膁/获取文本框的值罿String stuName=jp1_jtf1.getText().trim();/其中tr
28、im()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格蚇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、功能:这是一个表模型,用于更新数据膄
29、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;袀/定义一个记录集,用于接收从数据库返回来的记录集蚈ResultSet
30、 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();蕿/
31、调用数据库连接螆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.add(rs.getString(5);螀row.add(rs.getString(6);蚇row.add(rs.getString(7);蚇row.add(rs.getString(8);薂rowData.
32、add(row);薁蚈螅 catch (Exception e) 膅e.printStackTrace();芁/ TODO: handle exception蝿袄 蚅羂 薇Override芆/设置表的列名肄public String getColumnName(int column) 螂/ TODO Auto-generated method stub蚈return (String)this.column.get(column);莅蒃 芈Override蒅/得到的列数蒃public int getColumnCount() 虿/ TODO Auto-generated method stub罿
33、return this.column.size();膃薁/得到的行数肈Override蒅public int getRowCount() 芄/ TODO Auto-generated method stub蚀return this.rowData.size();蒇膅 莆Override肂/得到某行某列的值膁public Object getValueAt(int arg0, int arg1) 羆/ TODO Auto-generated method stub膃return (Vector)this.rowData.get(arg0).get(arg1);膀蚀蚆膄 薃3、 功能:这是修改管理
34、人员信息的界面,通过模式对话(即继承JDialog对话框)来实现 肀package com.View;蒆import java.awt.*;芆import java.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 袈/定义修改学生
35、信息的相关组件袇JLabel jl1,jl2,jl3;肄JTextField jtf1,jtf2,jtf3;膂JButton jb1,jb2,jb3;莈/这是修改账户信息权限的界面函数的封装蚈public void upView()膆芀/加载数据库,获得选中的那一行的所有信息肁莈jl1=new JLabel(账 号:);羃/因为账号是主键,设置文本框不可编辑的同时,一般也设置标签灰色显示,以区别其他标签 薃jl1.setEnabled(false);蒀jl1.setBounds(20, 20, 60, 25);膈jl1.setFont(MyFont.f1);肅螁jl2=new JLabel(密
36、 码:);袀jl2.setFont(MyFont.f1);蚅jl2.setBounds(250, 20, 60, 25);肆肃jl3=new JLabel(职 位:);荿jl3.setEnabled(false);莅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
37、);螂jtf2.setBounds(300, 20, 130, 25);葿莃jtf3=new JTextField(20);莂jtf3.setEnabled(false);蕿jtf3.setBounds(70, 60, 130, 25);薇肇jb1=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,
38、80, 25);袅jb2.addActionListener(this);薃蒀jb3=new JButton(清 除);膆jb3.setFont(MyFont.f1);芅jb3.setBounds(190,100,80,25);芄jb3.addActionListener(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);羇
39、this.add(jb3);膇袃/因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row肂public UpdateLogin(Frame Main,String title,PurViewModel pvm,int rowNo,boolean model)螇羄/调用父类的构造方法,实现模式对话羂super(Main,title,model);蒂蒇/调用修改用户权限信息的界面的方法羆this.upView();莄袁/先从表模型中获取所选中的那一行数据芈String userId=(Strin
40、g)pvm.getValueAt(rowNo, 0);肇System.out.println(userId=+userId);蒃String password=(String)pvm.getValueAt(rowNo, 1);芀String position=(String)pvm.getValueAt(rowNo, 2);羈/设置广本框的值袄jtf1.setText(userId);袅jtf2.setText(password);螀jtf3.setText(position);蝿/设置窗体的属性袆this.setSize(465,170);羃this.setVisible(true);蒃th
41、is.setResizable(false);葿羇肂袂Override腿public void actionPerformed(ActionEvent e) 螅/ TODO Auto-generated method stub蒄/当点击了修改按钮节if(e.getSource()=jb1)羀袆/获取文本框的信息薂String userId=jtf1.getText().trim();蚁String password=jtf2.getText().trim();蚀String position=jtf3.getText().trim();袇/调用数据库连接袅/设置操纵更新的sql语句膁Strin
42、g sql=update login set password=+password+,position=+position+where userId=+userId+;蒁SqlConn sqlconn=new SqlConn();蚅sqlconn.sqlUpdate(sql);肃/关闭交资源薀sqlconn.closeSqlConn();羇/关闭与数据库连接的资源后,再关闭对话框,否则数据不能自动在表中更新显示出来螆this.dispose();膂罿/如果点击了取消按钮,则关闭模式对话框蚇else if(e.getSource()=jb2)薃芀this.dispose();莀膄/如果点击了清除
43、按钮,则清除所有的广本框的内容,除了学号节else if(e.getSource()=jb3)荿薅/由于账号是主键,则不能清空!薁jtf2.setText();聿蒈羄莁 膀4、功能:这是修改学生信息的界面,通过模式对话(即继承JDialog对话框)来实现 薆 莄package com.View;肂import java.awt.*;羈import java.awt.event.ActionEvent;羈import java.awt.event.ActionListener;袃import javax.swing.*;袂import com.SqlConnection.SqlConn;聿imp
44、ort 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 stuAge=0;薄Double stuSourse=0.0;芃膁/这是修改学生信息的界面函数的封装蝿public void upView()蚅莂/加载数据库
45、,获得选中的那一行的所有信息薀芅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.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,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海科创职业技术学院《电子商务与网络营销Ⅰ》2023-2024学年第一学期期末试卷
- 手术室如何避免针刺伤
- 2024年中国水貂拔针融合编织服装市场调查研究报告
- 品质控制员工作总结
- 2024年中国无线音/调频耳机市场调查研究报告
- 2024年中国宫腔手术镜市场调查研究报告
- 上海工艺美术职业学院《工程制图基础B》2023-2024学年第一学期期末试卷
- 上海工商职业技术学院《建筑审美与评论》2023-2024学年第一学期期末试卷
- 大学生劳务教育试题库及答案
- 电子商务师中级试题(含参考答案)
- 2025年中学德育工作计划
- 2024年专业会务服务供应与采购协议版B版
- 大数据+治理智慧树知到期末考试答案章节答案2024年广州大学
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 小学写字阅读考核实施方案
- WXZ196系列微机消谐装置说明书
- 震雄注塑机Ai_01操作说明书(中文)
- 压力管道元件产品合格证
- 10KV变电站供电系统设计
- 15立方米的液氯储罐课程设计说明书
- 发现所授薪律师及律师助理管理办法
评论
0/150
提交评论