版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
某高校学生学籍管理系统设计与开发
1.引言
1.1项目来源:采用计算机化管理系统能提高操作员的操作效率,减少出错
的也许性,并且计算机可以自己自动完毕某些常用的记录功能,可以极大地节省
时间,其经济效益和社会效益是很明显的。
1.2.任务目的:本系统是对一种学校H勺学生学籍进行管理,它重要包括多种
信息的录入,修改,删除等操作,并能对多种信息口勺查询生成多种图来形象显示
成果
1.3应用价值:此系统便于管理人员一目了然地掌握学生的学籍状况。
2.项目规划
2.1项目资源:
.硬件规定:P41.0或更高。
内存:128MB或更高。
硬盘空间:20MBo
.软件环境
操作系统:windows2023/windowsNT/windowsXP0
数据库:access2023;
开发工具:eclipse;
辨别率:1024像素*768像素;
2.2.项目进程:
.任务描述:
.1学籍信息管理:对学生学籍的基本信息进行管理。
.2查询:按姓名、学号或班级查询学生的学籍信息。
.4.记录:对学生基本信息进行记录。
.进度安排:
进度完毕任务所需时间
系统设计总体筹划2周
系统资料搜集和整顿1周
软件模块、接口设计、数据库定义1周
数据库设计1周
软件代码设计2周
软件代码测试1周
系统确认及验收1周
2.3项目可行性评估
2.3.1技术可行性:本系统采用eclipse+access构架而成,eclipse是一种
相称著名的开源Java二DE,由IBM企业开源。Eclipse重要以其开放性、极为高
效口勺GUI、先进的代码编辑器等著称,其项目包括许多多种各样的子项目组,包
括Eclipse插件、功能部件等。任何人都可以轻易的将自己口勺软件做成Eclipse
的插件、并且这些插件只需简朴的复制到Eclipse的插件文献夹下就可以被集
成。重要采用SWT界面库,支持多种本机界面风格。eclipse是当今java最佳
的开发平台,它能自动生成诸多代码,大大提高了代码的输入效率,因此,能很
好的缩短系统开发所需时间,以更好的减少系统开发成本,而access为
Microsoft企业生产的数据库产品,有很好的稳定性和兼容性,它是桌面型数据
库,操作灵活、转移以便、运行环境简朴,对于小型网站的数据库处理能力效果
很不错,它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系
统日勺对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、
报表生成等操作规范化;为建立功能完善的数据库管理系统提供了以便,也使得
一般顾客不必编写代码,就可以完毕大部分数据管理的任务。这两种技术都属于
当今流行技术,两者日勺组合将更能使系统的功能发挥出来。
2.3.2计划可行性:此系统所需时间不是诸多,环节相对于某些别H勺大型系
统来说,是比较简朴的,因此,强度也不是很大,按照估计的进度的话,在两个
月左右内应当能很顺利的完毕任务。
2.3.3应用可行性:本系统合用于windows操作系统,windows操作系统为
当今社会最流行的操作系统,重要长处为人机交互性好,而本系统对应于此操作
系统而设计开发,也将能很好地做到这一点。此外,本系统采用日勺是java和
ACCESS技术。这两种技术都能很好地在windows操作系统上运行,因此此系统
能很好日勺应用于学校日勺学生学籍日勺管理,能做到以便,高效日勺管理好学生的学籍
信息。
3.系统需求分析
3.1业务需求
3.1.1业务组织:高校学生学籍管理中心
3.1.2业务定义:管理高校的学生学籍信息。
3.2功能需求
3.2.1功能构成:本系统是对学生日勺学籍信息进行管理,重要包括添加、修
改和删除学生的基本信息,对基本信息进行查询、排序及记录等操作,从而实现
学生管理的自动化与计算机化。
3.2.2功能定义:系统管理是便于后来系统升级;对学生学籍信息的操作在信
息管理模块中完毕,包括录入、修改、删除等操作;查询和记录分别在各自H勺模
块中。
流程图设计(系统管理员);
模块定义:
主模块:
输入:操作系统传递日勺多种信息以及顾客输入日勺多种数据。
输出:系统启动界面显小。
系统登录模块:
输入:选择顾客并输入口令V
输出:确认后显示主菜单。
系统设置模块:
输入:数据并确认
输出:弹出对话框显示设置成功与否
修改口令模块:
输入:两次新口令并确认
输出:口令修改成功与否
学生学籍操作模块:
1).录入模块:
输入:学号等信息
输出:确认并提醒录入成功与否。
2).修改模块:
输入:需要修改日勺信息
输出:确认并提醒修改成功与否。
3)删除模块:
输入:需要删除的信息。
输出:确认并提醒删除成功与否。
数据查询模块:
输入:选择查询方式并确认
输出:显示查询成果
数据记录模块:
输入:选择需要记录的数据并确认
输出:显示记录成果
3.3数据需求
3.3.1静态数据定义如下表所示:
名称字段名称数据类型主键非空
标识ID自动编号YesYes
学号Num数字NoYes
姓名Name文本NoYes
性别Sex文本NoYes
民族Ehtnic文本NoNo
班级Class文本NoNo
生日Birthday文本NoNo
籍贯Home文本NoNo
3.3.2数据ER图:
学生基本信息ER图
学生学籍管理ER图
数据查询ER图
记录ER图
3.4其他需求:界面友好,易于操作,数据传播迅速高效。
4.系统构造设计
4.1系统总体框架如图所示:
4.2软件构造设计
重要划分为三个模块:
1).信息管理模块:对学生学籍日勺基本信息进行综合管理,可以添加、修改
及删除基本信息。
2).查询模块:查询学生的基本学籍信息。
3).记录模块:根据不一样特性对学生日勺状况进行记录。
顾客
本系统的顾客可分为三类,系统管理员、教师、学生。
1).系统管理员:可以添加学生档案资料、修改学生档案资料、查询学生档
案资料。
2).教师:可以查询学生学生的档案资料,并可以查看系统开放给老师看时
信息。
3).学生:可以查询自身档案的开放信息,例如姓名、出生年月、政治面貌
等,不过不可以查询自身档案的不开放信息。
接口设计:
1).顾客接口:
按windows应用软件操作界面口勺规范来设计,使用以对话框为主的顾客界
面,便于顾客操作。
1.主对话框:由五个功能按钮构成:
系统管理、信息管理、查询、记录、协助。
2.信息管理添加对话框:
学号编辑框:用于输入学生学号;
姓名编辑框:用于输入学生姓名;
性别编辑框:用于输入学生性别;
民族编辑框:用于输入学生所属民族;
所在班级编辑框:用于输入学生所在班级;
出生日期编辑框:用于输入学生出生日期;
籍贯编辑框:用于输入学生的籍贯信息、;
保留按钮:用于将在上面所述日勺编辑框内输入信息后将此学生信息存入
数据库。
取消按钮:用于取消本次输入;
退出按钮:用于退出录入对话框;
3.信息管理修改信息对话框:
学号编辑框:用于输入学生学号;
姓名编辑框:用于输入学生姓名;
性别编辑框:用于输入学生性别;
民族编辑框:用于输入学生所属民族;
所在班级编辑框:用于输入学生所在班级;
出生日期编辑框:用于输入学生出生日期;
籍贯编辑框:用于输入学生的籍贯信息;
查询按钮:用于查询输入日勺学生信息,以修改其中日勺信息;
退出按钮:用于退出信息修改对话框;
4.信息管理删除信息对话框:
学号编辑框:用于输入学生学号;
姓名编辑框:用于输入学生姓名;
性别编辑框:用于输入学生性别;
民族编辑框:用于输入学生所属民族;
所在班级编辑框:用于输入学生所在班级;
出生日期编辑框:用于输入学生出生日期;
籍贯编辑框:用于输入学生的籍贯信息;
查询按钮:用于查询输入日勺学生信息,以便于管理员确认其信息以决定
与否删除此学生信息。
退出按钮:用于退出删除信息对话框;
5.查询对话框:
请选择查询方式:用于选择查询方式,有按姓名、按学号、按班级三种
方式。选择后,就会出现对应的对话框。
按姓名查询编辑框:用于输入想要查询的学生姓名;
按学号查询编辑框:用于输入想要查询『、J学生学号;
按班级查询编辑框:用于输入想要查询向学生班级;
确定按钮:查询信息日勺人员确认输入无误后点确承认获取查询成果;
取消按钮:用于取消本次查询
6.记录对话框:
请选择记录选项:用于选择需要记录日勺数据,有按学号、按性别、按班
级、按出生年月四种方式,选择后,将会出现对应的对话框。
按性别记录编辑框:可选择男或女,用于查询学生H勺性别数据;
按班级记录编辑框:用于查询每个班的数据;
按出生年月记录编辑框:用于查询学生的年龄段分布状况;
确定按钮:记录人员确认输入无误后点确承认获取记录成果;
取消按钮:用于取消本次记录;
2).软件接口:
使用access的驱动程序。
4.3数据构造:
4.3.1:数据库与程序的联络:
1).主模块:连接数据库
2).信息管理模块:
信息录入模块:读入学号、姓名、性别、民族、所在班级、出生日
期、籍贯等信息。
信息修改模块:读入对应的输入信息,显示学生信息;
信息删除模块:读入对应的输入信息,显示学生信息。
3).查询模块:
对应于多种查询方式输出对应的I学生信息。
4).记录模块:
对应于多种记录方式输出对应的学生记录信息。
5).系统操作模块:
系统操作权限查验模块:读入帐号,口令,输出对应H勺信息。
学籍信息操作模块:增长,修改,删除图书表中H勺信息。
数据查询模块:制定查询条件,输出对应的信息。
数据记录模块:指定记录条件,输出对应的信息。
数据备份模块:复制学生学籍信息表,系统操作员登记表。
数据恢复模块:读取学生学籍信息表,系统操作员登记表。
5.系统详细设计:
5.1:功能模块详细设计:
:定义对象:
〃定义内容面板
JpnelcontentPane;
〃定义布局格式
XYLayoutxYLayoutl=newXYLayout();
〃定义菜单栏
JMcnuBarmainMenu=newJMenuBar();
〃定义系统管理菜单及其菜单项
JMenumenuSystem=newJMenuItemO;
JmenuItemitemExit=newJmenuitem();
〃定义信息管理菜单及其菜单项
JMenumenuinfo=newJMenu();
JMenuTtemitemShow=newJMenuItemO;
JMenuIternitemAdd=newJMenuItemO;
JMenuItomitemEdit=ncwJMenuItemO;
JmenulternitemDelcte=ncwJMenuItemO;
〃定义查询菜单及其菜单项
JMenumenuSearchAll=newJMenu();
〃人员查询菜单是查询下日勺一种二级菜单
JMenumenuSearch=newJMenu();
JMenuItemitemSearchByName=newJMenuItemO;
JMenuItemitemSearchByNum=newJMenuItemO;
JMenuItemitemSearchByC1ass=newJMenuItemO;
JMenuTtemitemSearchGrade=newJMenuItemO;
〃定义记录菜单及其菜单项
JMenumenuSum=newJMenu();
JMenuItomitemSumPcop1c=ncwJMenuItemO;
JMenuItcmitemSuniGrade=newJMenuItemO;
〃定义协助菜单及其菜单项
.(Menumenullelp=newJMenuO;
JMenuItemitemAbout=newJMenuItemO;
ResultSetrs;
Stringsql=newString();
DatabaseDB=newDatabase();
publicstaticstulnfoSIFall=newstuInfoO;
publicstaticeditStuInfoeditInfo=newcditStuInfoO;
publicstaticdelStuInfodellnfo=newdelStuInfoO;
publicstaticgradeinfogralnfo=newgradelnfoO;
〃设定contentPane为窗体默认面板
contentPane=(JPanel)this.getContentPane();
〃设定contentPane布局为xYLayoutl
contentPane.setLayout(xYLayoutl);
〃设定窗体大小
this.setSize(newDimension(400,300));
〃设置窗体的名称
this.setTitle(〃学生学籍管理系统〃);
mcnuSystcm.setTcxt(〃系统管理”);
menuinfo.sttText]〃信息管理");
menuSearchAll.setText(〃查询〃);
menuSum.setText("查询人员〃);
menuHelp.setText协助〃);
itemShow.setText「信息综合管理”);
itemAdd.setText("添加信息〃);
itemEdit.setText1〃修改信息〃);
itcmDcletc.setText("删除信息");
itemExit.setText("退出〃);
itemSearchByName.setText(〃按姓名〃);
itemSearchByNum.setText("按学号”);
itemSearchB)<lass.setText(〃按班级〃);
itemSumPeople.setText(〃〃);
iteinAbout.setText(〃〃);
〃设置主窗体的菜单栏为mainMenu
this,setJmenuBar(mainMenu);
〃窗体关闭按钮日勺响应动作
protectedvoidprocessWindowEvent(WindowEvente){
super.processWindowEvent(e);
if(e.getID()=Windowevent.WIND0W_CL0SING){
System,exit(0);
}
〃退出应用程序
voiditemExitactionPerformed(ActionEvente){
System,exit(0);
)
〃人员信息综合管理
voiditemShowactionPerformed(ActionEvente){
SIFall.setLocation(200,160);
SIFall.pack();
SIFall.show();
SIFall.setNull();
SIFall.setAvled(false);
SIFall.setButton(true,false,false,false,false);
)
//添加人员信息
voiditemAddactionPerformed(ActionEvente){
addStuInfodig=newaddStuInfoO;
DimensiondlgSizc=dlg.getPrcferredSize0;
DimensionfrmSize=getSize();
Pointloc=getLocation();
dig.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.he
ight-dlgSize.height;/2+loc.y);
dig.pack();
dig.show();
dig.setExeType(^addnew^);
)
〃修改人员信息
voiditemEdit_actionPerformed(ActionEvente){
DimensiondlgSize=editInfo.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
editinfo.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSi
ze.height-dlgSize.height)/2+loc.y);
editinfo.pack();
editinfo,show();
)
〃删除人员信息
voiditemDcletc_actionPcrformed(ActionEvcnte){
DimensiondlgSize=delInfo.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
dellnfo.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSiz
e.height-dlgSize.height)/2+loc.y);
delInfo,pack();
dellnfo.show();
)
〃显示按姓名查询
voiditemSearchByName_actionPerformed(ActionEvente){
classsearchByNameextendssearch{
publicsearchByName()(
jRByName.setVisible(false);
jRByNum.setVisible(false);
jRByClass.setVisible(false);
xYLayoutl,setHeight(110);
)
}
searchByNamebyName=newsearchByName0;
DimensiondlgSizc=byName.gctPrcferrcdSizc();
DimensionrrmSize=getSize();
Pointloc=getLocation();
byName.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize
.height-dlgSize.height)/2+loc.y);
byName,pack();
byName.setLabelText(〃请输入要查询人员的名字:〃);
byName.setType(,/Name,/);
byNamc.show();
}
〃显示按学号查询
voiditemSearchByNumactionPerformed(ActionEvente){
classsearchByNumextendssearch{
publicsearchByNum(){
jRByName.setVisible(false);
jRByNum.setVisible(false);
jRByClass.setVisible(false);
xYLayoutl.setHeight(110);
}
)
searchByNumbyNum=ncwsearchByNum();
DimensiondlgSize=byNum.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
byNum.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.
height-dlgSize.height)/2+loc.y);
byNum.pack();
byNum.selLabelText(〃请输入要查询人员『、J学号〃);
byNum.sctTyppc(〃NunT);
byNum.show();
)
〃显示按班级查询
voiditemSearchByC1ass_actionPerformed(ActionEvente){
classsearchB5<lassextendssearch{
publicsearchByClass(){
jRByName.setVisible(false);
jRByNum.setVisible(false);
jRByClass.setVisible(false);
xYLayoutl.setHeight(110);
}
searchByClassbyClass=newsearchByClass();
DimensiondlgSize=byClass.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
byClass.setLocation;(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.he
ight-dlgSize.height)/2+loc.y);
byClass,pack();
byClass.setLabclTcxt(〃请输入要查询人员欧|班级:〃);
byClass.setType("Class");
byClass.show();
}
〃人员记录
voiditemSumPeopleactionPerformed(ActionEvente){
sumPeoplepeople=newsumPeople0;
DimensiondlgSize=pcople.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
people.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize
.height-dlgSize.height)/2+loc.y);
people,pack();
people,show();
}
5.1.2:信息管理模块详细设计:
.1综合模块
〃定义窗体中所用到日勺对象
JPaneljPanell=newJPanel0;
XYLayoutxYLayoutl=ncwXYLayout0;
XYLayoutxYLayoutl=newXYLayout0;
JLabeljLabell=newJLableO;
JLabeljLabel2=newJLableO;
.(LabeljLabe13=newJLableO;
JLabeljLabel4=newJLableO;
JLabeljLabe15=newJLableO;
JLabeljLabel6=newJLableO;
JLabeljLabel7=newJLableO;
JTextFieldjTNum=newJTextFieldO;〃输入学号
JTextFieldjTName=newJTextField();〃输入姓名
JTextFieldjTSex二newJTextFieldO;〃输入性别
JTextFieldjTHome=newJTextFieldO;〃输入籍贯
JTextFieldjTBirth=newJTextField();〃输入生日
JTextFieldjTEthnic=newJTextField();〃输入民族
JTextFieldjTClass二newJTextField。;〃输入班级
JButtonjBAdd=newJButtonO;〃添加
JButtonjBModify:newJButtonO;〃修改
JButtonjBDelete二newJButtonO;〃删除
JButtonjBCancel二newJButton();〃取消
JButtonjBSavc=newJButtonO;〃保留
JButtonjBExit=newJButton();〃退出
JButtonjBSearch:newJButtonO;〃查询
JButtonjBSum二newJButtonO;〃人员记录
StringextType=newString。;〃标识操作类型
DatabaseDB=newDatabase();〃连接数据库
ResultSetrs;〃返回成果
Stringsql=newString。"/SQL语句
〃初始化时设置文本框不可编辑
setAbled(false);
〃初始化时除添加按钮外,其他操作信息日勺按钮均不可用
setButton(true,false,false,false,false);
〃设置文本框与否可编辑
voidsetAbled(booleanlogic){
jTNum.setEnabled(logic);
jTEthnic.setEnabled(logic);
jTName.setEnabled(logic);
jTClass.setEnabled(logic);
jTSex.setEnabled(logic);
jTBirth.setEnabled(logic);
jTHomc.setEnabled(logic);
}
〃设置按钮的I状态
voidsetButton(booleanadd,booleanxiugai,booleandel,boolean
save,booleancanceE(
jBAdd.setEnabled(add);
jBModify.setEnabled(xiugai);
jBDelete.setEnabled(del);
jBSave.setEnabled(save);
jBCancel.setEnabled(cancel);
)
〃将文本框清空
voidsetNulll(){
jTNum.setText(null);
jTEthnic.setText(null);
jTName.setText(null);
jTClass.setText(null);
jTSex.setText(null);
jTBirth.setText(nul1);
jTHome.setText(null);
)
〃设置操作类型
voidsetExtType(Stringtype){
extType=type;
}
〃新增人员基本信息
voidJBAdd_actionPerformed(ActionEvente){
setExtType(,,addnew,/);
setNull();
this.set/\bled(true);
this.setButton(false,false,false,true,true);
}
//修改目前人员信息
voidjBModify_actionPerformed(ActionEvente){
setExeType("edit");
setAbled(true);
setButton(false,false,false,true,true);
)
〃删除目前人员信息
voidjBDeleteactionPerformed(ActionEvente){
Stringsql;
sql="deletefromstuTablewhere
Num=,,+Integer.parselnt(jTNum.getText());
if(DB.executeSql(sql)){
JOptionPane.showMessageDialog(null,"成功删除信息!”);
)
else{
JOptionPane.showMessageDialog(null,"删除信息失败!〃);
)
)
〃保留信息
voidjBSaveactionPerformed(ActionEvente){
〃判断操作类型,若是新增,则插入信息,若是编辑,则更新信息
if(cxeType二="addncw〃){
〃检查新增的学号在数据库中与否已经存在
sql=/,selectNumfromstuTablewhere
Num=〃+Integer.parseZnt(jTNum.getText());
rs=DB.getResult(sql);
try(
〃从数据库中查询目前学号,若不为空,阐明此学号已存在
if(rs.first0){
JOptionPane.showMessagcDialog(null,〃学号不能反复!〃;;
setNull();
)
else(
〃若不反复,生成SQL语句
sql二〃insertinto
stuTable(Num,Name,Sex,Ethnic,Class,Birthday,Home)values(〃;
sql=sql+〃〃+Integer.parselnt(jTNum.getText())+〃,〃;
sql=sql+〃'"+jTName.getText()一〃',〃;
sql=sql+"'〃+jTSex.gelText()+”',〃;
sql=sql+〃'〃+jTElhnic.getText:)+〃',〃;
sql=sql+''"+jTClass.getTextC+〃',〃;
sql=sql+///z+Integer.parselnt(jTBirth.getText())+〃,
sql=sql+"'/z+jTHome.getText。-“'〃;
sql=sql+〃)〃;
if(DB.executeSql(sql)){
setAbled(false);
JOptionPane.showMessageDialog(nul1,〃成功添加信息!
〃);
sctButton(true,true,true,false,false);
}
else{
JOptionPane.showMessageDialog(null,“添加信息失败!
〃);
)
)
}
catch(SQLExceptionex){
JOptionPane.showMessageDialog(nul1,〃添加信息失败!〃);
}
)
〃假如操作类型为编辑,则执行更新操作
elseif(extType=,/edit/z){
sql=,,updatestuTableSETName=,z,+jTName.getTextO.toStringD;
sql=sql+z,Sex=,z,+jTSex.getText().toString()+〃',〃;
sql=sql+〃Ethnic='〃+jTEthnic.getText;).toString()+〃',〃;
sql=sql+“Class='〃+jTClass.getText().toString()+〃,,";
sql=sql+〃Birthday=〃+Integer.parselnt(jTbirth.getText())+〃,
sql=sql+〃Home='〃+jTHome.getText().toString()+"'
sql=sql+〃whcrcNum=〃+Intcgcr.parselnt(jTNum.getText0)+〃”;
if(DB.execute(Sql)){
JOptionPane.showMessageDialog(null,〃成功更新信息!〃);
setButton(true,true,true,false,false);
setAbled(false);
)
else{
JOptionPane.showMessageDialog(null,〃更新信息失败!〃);
}
)
)
〃取消,放弃目前操作
voidjBCancel_actionPerformcd(ActionEvcnte){
this.setAbled(false);
if(exeType二二〃addne'v〃){
this.setNull;);
}
this.setButton(true,true,true,false,false);
)
〃退出,关闭目前窗口
voidjBExit_actionPcrformcd(ActionEvcntc){
this,dispose();
)
〃查询
voidjBSearch_actionPerformed(ActionEvente){
searchby=newsearch();
DimensiondlgSize=by.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
by.seLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.heig
ht-dlgSize.height)/2+loc.y);
by.pack();
by.sctLablcTcxt(〃请选择查询方式:〃);
by.jTContent.setEnabled(false);
by.show();
}
〃切换到人员记录
voidjBSumactionPerfonned(ActionEvente){
sumPeoplepeople=newsumPeople();
DimensiondlgSize=people.getPreferredSize();
DimensionfrmSizc=getSizc0;
Pointloc=getLocation();
people.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize
.height-dlgSize.height)/2+loc.y);
people,pack();
people,show();
this.disposeO;
}
・2添加信息模块
publicclassaddStuInfoextendsstuTnfo{
publicaddStuTnfoO{
〃设置修改、删除、查询、人员记录按钮为不可见
jBModify.setVisiblc(false);
jBDelete.setVisible(false);
jBSearch.setVisible(false);
jBSum.setVisible(false);
this.getContentPaneO.add(JPanel1,new
XYConstraints(3,-20,363,251));
JPanel1.add(jBAdd,newXYComstraints(102,218,53,23));
jPanell.add(jBSave,newXYConstraints(163,218,53,23));
jPancll.add(jBCanccl,newXYConstraints(224,218,53,23));
jPanell.add(jBExit,newXYConstraints(284,218,53,23));
xYLayoutl.setWidth(384);
xYLayoutl.setHeight(240);
this.setTitle("添加信息〃);
this.setExeType(,,addnew,/);
this.setAbled(true);
this.jBAdd.setEnabled(false);
this.jBSave.setEnabled(true);
this.jBCancel.setEnabled(true);
}
)
.3:修改信息模块
publicclasseditStuInfoextendsstulnfo{
publiceditStuInfoO{
〃设置按钮的可见性
JBAdd.setVisible(false);
jBModify.setVisible(false);
JBDelete.setVisible(false);
JBSum.setVisible(false);
〃重设按钮和窗体的大小及位置
jBScarch.setTcxt("查询”);
jBSearch.setMargin(newInsets(2,2,2,2));
this.getContentPaneO.add(JPanell,new
XYConstraints⑶-20,363,251));
jPanell.add(jBsearch,newXYConstraints(102,218,53,23));
jPanell.add(jBSave,newXYConstraints(163,218,53,23));
jPanell.add(jBCancel,newXYConstraints(224,218,53,23));
jPanell.add(jBExit,newXYConstraints(284,218,53,23));
xYLayout1.setWidth(384);
xYLayoutl.selHeight(240);
this.setAbled(false);
jBSave.setEnabled(false);
jBCancel.setEnaled(false);
this.setTitle("修改信息〃);
〃操作类型设为编辑
this.setExeType(,,edit,/);
}
voidJBSearchactionPerformed(ActionEvente){
searchby=newsearch();
DimensiondlgSizc=by.gctPrcferrcdSizc0;
DimensionfrnSizc=getSize0;
Pointloc=getLocation();
by.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.hei
ght-dlgSize.height)/2+loc.y);
by.pack();
by.setLableText(〃请选择查询方式:〃);
by.jTContent.setEnablcd(false);
by.show();
〃设置成果集返回类型
by.setShowType(^edit^);
.4:删除信息模块:
publicclassdelStulnfoextendsstulnfo{
publicdelStuInfoO{
〃设置按钮日勺可见性
JBAdd.setVible(false);
JBModify.setVisible(false);
jBSavc.setVisible(false);
jBCancel.setVisible(false);
jBSum.setVisible(false);
jBSearch.settext(〃查询〃);
jBSearch.setMargin(newInsets(2,2,2,2));
this.getContentPaneO.add(jPanel1,new
XYConstraints⑶-20,363,251));
jPanel.add(jBSearch,newXYConstraints(163,218,53,23));
jPanel.add(jBDelete,newXYConstraints(224,218,53,23));
jPanel.add(jBExit,newXYConstraints:284,218,53,23));
xYLayoutl.selWidth(384);
xYLayoutl.setHeight(240);
this.setAbled(false);
this.setTitle(〃删除信息〃);
〃初始化时尚无人员信息,因此删除按钮设为不可用
jBDelete.setEnabled(false);
}
voidjBSearchactionPerformed(ActionEvente){
searchby=newsearch();
DimensiondlgSize=by.getPreferredSizeO;
DimensionfrnSizc=getSize0;
Pointloc=gctLocation();
by.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.hei
ght-dlgSize.height)/2+loc.y);
by.pack();
by.setLabelText(〃请选择查询方式:〃);
by.JTContent.setEnabled(false);
by.show();
by.setShowType("del〃);
}
)
5.1.3:查询模块详细设计:
〃定义窗体所用到欧I本象
XYLayoutxYLayoutl=newXYLayout();
JLabeljLabe11=newjLabel():
〃输入待查询值
JTextField"Content=newJTextFieldO;
JButtonjB0K=newJButtonO;
JButtonjBCancel=newJButton0;
〃标识查询类别
StringsearchTyp=newStringO;
〃记录查询值
StringsearchValue=newStringO;
StringinfoShowType=newStringO;
〃定义用于数据库操作日勺对象
DatabaseDB=newDatabase();
ResultSetrs;
Stringsql=newStringO:
〃定义单项选择按钮及一种按钮组
JRadioButtonjRByName=newJRadioButton0:
JRadioButtonjRByNum=newJRadioButton();
JRadioButtonjRByClass=newJRadioButtonO:
ButtonGroupgroup=newButtonGroup():
jLabell.seFont(newJava.awt.Font("Dialog”,0,12));
xYLayoutl.setWidth(298);
xYLayoutl.setHeight(130);
this.getContentPane().setLayout(xYLayoutl);
jBOK.setText(〃确定〃);
jBOK.addActionListcncr(newsearchjBOKactionAdapter(this));
jBCancel.setFont(newJava.wat.Font(〃Dilog”,0,12));
jBCancel.setText(〃取消〃);
jBCancel.addActionListener(new
search_jBCancel_actionAdapter(this));
jTContent.setFont(newJava.awt.Font("Dialog”,0,12));
jTContent.setText(〃〃);
this.setTitle(〃人员查询〃);
jRByName.setFont(newJava.awt.Font("Dialog”,0,12));
jRByName.setText(〃按姓名〃);
jRByName.addActionListener(new
searchjRByName_actionAdcipter(this));
jRByNum.setFont(newJava.awt.Font("Dilog”,0,12));
jRByNum.setText(〃按学号〃);
jRByNum.addActionListener(newsearch_jRByNum_actionAdapter(this));
jRByClass.setFont(newJava.awt.Font("Dialog”,0,12));
jRByClass.setText(〃按班级〃);
jRByClass.addActionListener(new
searchJRByClassactionAdapter(this));
group.add(jRByNamc);
group,add(jRByNum);
group,add(jRByClass);
this.getContentPane().add(JLabeli,new
XYConstraints(26,23,161,23));
this.getContentPane().add(JTContent,new
XYConstraints(30,57,130,25));
this.getContentPane().add(JBOK,newXYConstraints(200,23,66,24));
this.getContentPane().add(JBCancel,new
XYConstraints(200,59,66,24));
this.getContentPane().add(JRByName,new
XYConstraints(24,103,66,17));
this.getContentPane0.add(JRByNum,new
XYConstraints(95,103,-1,16));
this.getContentPane().add(JRByClass,new
XYConstraints(168,103,69,16));
voidsetLabelText(Stringcontent){
jLabel1.setText(content);
}
〃设置查询类型
voidsetType(Stringi){
infoShowType=i;
)
〃设置要显示的I人员信息窗体
voidsetShowT)rpe(Stringtype){
infoShowType=type;
}
voidlistShowO{
stuShowstuList=newstuShowO;
DimensiondlgSize=stuList.getPerferredSize();
DimensionfrnSize=getSize();
Pointloc=getLocation();
stuList.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSiz
e.height-dlgSize.height)/2+loc.y);
stuList.pack:);
stuList.show:);
stuList.resultShow(rs);
}
voidsetContent(stulnforesult){
try(
result.jTNum.setText(rs.getString(,,Num,/));
result.jTName.setText(rs.getString(〃Name〃));
result.jTSex.setText(rs.getString("Sex"));
result.jTHome.setText(rs.getString(〃Home〃));
result.jTClass.setText(rs.getString("Class")j;
result.jTEthnic.setText(rs.getString(,,Ehinic,/));
result.jTBirth.setText(rs.getString("Birthday"));
}
catch(SQLExceptionex){}
voidshowResult0{
〃在修改人员信息模块中调用查询
if(infoShowType二二〃edit〃){
setContent(menuClass.editlnfo);
menuClass.editinfo.setAbled(false);
menuClass.editlnfo.setButton(true,true,true,false,false);
)
〃在删除人员模块中调用查询
elseif(infoShowType二二〃del〃){
setContent(menuClass.dellnfo);
menuClass.dellnfo.setAbled(false);
menuClass.dellnfo.setButton(true,true,true,false,false);
}
else{
menuClass.STFal1.setLocation(200,160);
menuClass.STFal1.pack();
menuClass.SIFall.show();
setContent(me
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位工勤技能-宁夏-宁夏水生产处理工四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-天津-天津防疫员五级(初级工)历年参考题库含答案详解
- 2026事业单位工勤技能-吉林-吉林殡葬服务工五级(初级工)历年参考题库含答案详解
- 2026事业单位工勤技能-北京-北京汽车修理工(技师-高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-内蒙古-内蒙古管工(技师-高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-云南-云南计算机信息处理员三级高级历年参考题库含答案详解
- 2026事业单位工勤技能-上海-上海动物检疫员二级(技师)历年参考题库含答案详解
- 创新法律战推进产业创新发展行动方案
- 工业园区厂房施工组织设计
- 宿舍唯美句子41条
- 2026年金华市中级人民法院人身损害赔偿细化参照标准
- 2026年考农机驾驶证题目及答案
- 2026秋西师大版小学数学五年级上册教学计划
- 2026年宿管老师岗位职责试题及答案
- 江西财经大学2026年第一批劳务派遣岗位招聘【13人】笔试备考题库及答案详解
- 压疮伤口的感染控制
- 2026年贵州大数据产业集团有限公司第一次招聘155人考试试题及答案解析
- 2026中国网络剧现状动态与投资盈利预测报告
- 水电工程区域构造稳定性勘察规程(NBT35098-2017 )
- 基于临床路径的医疗资源浪费防控策略
- 2025年车路协同自动驾驶公交:提升公共交通服务
评论
0/150
提交评论