学生信息管理系统java课程设计.docx

上传人:飞猪 文档编号:453030 上传时间:2025-07-28 格式:DOCX 页数:16 大小:42.88KB
下载 相关 举报
学生信息管理系统java课程设计.docx_第1页
第1页 / 共16页
学生信息管理系统java课程设计.docx_第2页
第2页 / 共16页
学生信息管理系统java课程设计.docx_第3页
第3页 / 共16页
学生信息管理系统java课程设计.docx_第4页
第4页 / 共16页
学生信息管理系统java课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、软件学院课程设计报告书课程名称java课程设计设计题目学生信息管理系统专业班级软件工程0910班学号0920011023姓名赵壬冰指导教师2023年6月目录1设计时间22设计目的23设计任务33.1 任务说明33.2 系统目标33.3 使用范围33.4 功能要求44设计内容44.1 界面构建44.2 详细设计54.2.1 模块设计54.2.2 数据库设计(ACCeSS)54.2.3 运行调试54.2.4 主要源代码65总结与展望14参考文献错误!未定义书签。1设计时间2设计目的本程序用于用户对少量学生信息进行简单的管理,本程序针对于对平安系数要求不高,操作不是很复杂的小型客户开发。本程序可以实

2、现对学生信息的录入、查询、修改、删除等操作,同时支持查看所有学生信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。本程序数据库采用OffiCe2007版本的access数据库(.accdb)进行数据存储,该数据库可实现关系较为简单的数据管理。3设计任务3.1任务说明设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项根本功能。要求如下:(1)具有简单的录入,查询和修改功能。(2)修改学生信息必须输入学号,然后对姓名、性别和专业等修改;(3)使用文件存储数据。(也可用数据库)(4)学生个

3、人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。(5)具有对姓名,出生日期和身份证号进行简单校验的功能。3-2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况。如用户对学生根本信息进行录入、查询、修改、删除等。3.2使用范围本系统仅针对用户对少量学生进行信息管理。3.3功能要求1录入学生根本信息的功能2查询学生根本信息的功能3修改学生根本信息的功能4删除学生根本信息的功能5显示所有学生信息的功能4设计内容4-1界面构建1、为了便于各种操作,软件采用多窗口的模式。用户可在不同窗口进行相应操作(录入、查询、修改、删除、显示所有学生省信息)。2

4、主窗口是用户进行各种操作的平台,具体操作在各个独立功能窗口中完成。3、主窗口的主要功能位于菜单中,菜单为进入各个功能窗口的唯一通道。4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当是,弹出错误以及简单的错误原因提示用户重新操作。5、界面布局尽量合理,各组件位置分布均匀美观。4.2.1模块设计图a.学生信息表图b.管理员表4.2.3运行调试图1.登录界面图2.操作界面图3.添加学生信息图4.删除学生信息图5.修改学生信息图6.查找学生信息图7.注册新用户图8.删除用户4.2.4主要源

5、代码importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjavax.swing.border.*;importjavax.SwingJOptionPane;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.table.DefaultTableModel;importjavax.swing.table.TableColumn;importjava.sql.*;importjava.awt.GridLayout;classmyStud

6、entpublicmyStudent()publicstaticvoidmain(Stringargs)IoginFramelf=newIoginFrameO;lf.setVisible(true);lf.addWindowListener(newWindowAdapterOpublicvoidwindowClosing(WindowEvente)SyStem.ex(0););)classmainFrameextendsJFrameimplementsActionListenerJMenuBarmyMenuBar=newMenuBar();MenumyMenuFile,myMenuEdit,m

7、yMenuUser,myMenuAbout;MenuItemmiNew,miOpen,miSave,miSaveAs,miExit;MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;publicJTabIetable=newJTable();Iconbackground_icon=newImagelcon(pct.jpg);JLabeIbackground_Label=newJLabeI(backgroundjeon);publicDefaultTableModelmm;publicmainFrame()myMenuFile=new

8、MenU(文件);miNew=newMenuItem(新建”);miOpen=newMenuIter(翻开”);miSave=newMenuItem(保存);m正xit=neWMenUltem(退出);/miNew.enable(false);/mipen.enable(false);/miSave.enable(false);/myMenuFile.add(miNew);/myMenuFile.add(niOpen);/myMenuFile.add(miSave);myMenuFile.add(miExit);myMenuEdit=newMenU(数据编辑);miFind=newMenuIt

9、em(杳找数据);miAdd=neVMenUItem(添加数据);miEdit=neVMenUItem(修改数据);miDel=IeWMenUItem(删除数据);miShow=newMenuItem(全部显示);myMenuEdit.add(miFind);myMenuEdit.add(miAdd);myMenuEdit.add(miEdit);myMenuEdit.add(miDel);myMenuEdit.add(miShow);myMenuUser=newMenU(用户);miUser=newMenuItem(编辑用户”);myMenuUser.add(miUser);myMenuAb

10、out=newMenU(我的课程设计);miAbout=newMenuItem(课程设计说明);myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);myMenuBar.add(myMenuUser);myMenuBar.add(myMenuAbout);Stringcol=“学号”,“姓名,“性别民族”,“年龄”,“年级”,“班级”,”专业”;创立属性列名mm=newDefaultTableModel(CohO);table.setModel(mm);JScrollPanetableScrol

11、lPane=newJScrollPane(table);this.setMenuBar(myMenuBar);this.add(tableScrollPane);miExit.addActionListener(this);miFind.addActionListener(this);miAdd.addActionListener(this);miEdit.addActionListener(this);miDel.addActionListener(this);miShow.addActionListener(Ihis);miUser.addActionListener(this);miAb

12、out.addActionListener(this);classmyConnectionResultSetre;Stringstrurl=*jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=学生管理数据库.mdb”;publicmyConnection()publicResultSetgetResult(Stringsql)try(doss.forName,sun.jdbc.odbc.JdbcOdbcDriver);ConnectionConn=DriVerManager.gefComiecMw(Strurl);Statementstmt=c

13、onn.createStatement(ResultSet.TyP_SC/?(?LL_SEyVS/77VE,ResultSet.CONCUR_UPDA7ABLE);ResultSetre=stmt.executeQuery(sql);returnre;)catch(Exceptione)System.ow.println(ugetResult+e.toString();returnnull;)classaddFrameextendsJDialogimplementsActionListenerfPublicstaticfinalintVVZDTT/=400;PublicstaticfinaIi

14、ntHEZGHT=400;JLabeI学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField学号,姓名,性别,民族,年龄,年级,班级,专业;JButtonb;JPanelp;mainFramemf;classeditFrameextendsJDialogimplementsActionListenerfPublicstaticfinalintVV/DT/=400;PublicstaticfinaIintHEZGHT=400;JLabel学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField学号,姓名,性别,民族,年龄,年级,班级,专业

15、JButtonb;JPanelp;mainFramemf;classfindFrameextendsJDialogimplementsActionListenerjmainFramemf;JPanelp;JComboBoxc;JTextFieldt;JButtonb;JButtonfA11;Stringsql=select*fromstudent;StringCoIStr=“学号”,“姓名,“性别”,“民族”,“年龄”,“年级“,“班级”,”专业”;publicfindFrame(mainFramemmf)mf=mmf;p=newJPanel();c=newJComboBox(colStr)

16、t=newJTextField(IO);b=newJButton(“查找”);fAll=newJBUtton(全部显示”);b.addActionListener(this);fAll.addActionListener(this);p.add(newJLabel(W);p.add(c);p.add(newJLabel(查找内容”);p.add(t);p.add(b);p.add(fA11);this.add(p);this.setTitle(查找”);this.setSize(450,80);)classaboutFrameextendsJDialogaboutFrame()JPanelp

17、l=newJPanel();PLadd(IIeWJLabe1(学生信息管理系统”);PLadd(IIeWJLabe1(赵壬冰0920011023);pl.add(newJLabe1(辽宁工程技术大学”);PLadd(IleWJLabeI(软件工程09/0);p1.setLayout(newGridLayoUt(4,5,5);this.add(pl);this.setTitle(关于我”);this.setSize(300,200);)classUserFrameextendsJFrameimplementsActionListenerJTextFielduser,pass;JButtonadd

18、del;JTablet;JPanelpl,p2,p3,p4,p5;DefaultTableModelm;publicuserFrame()pl=newJPanel();p2=newJPanel();p3=newJPanel();p4=newJPanel();p5=newJPanel();user=newJTextField(8);pass=newJTextField(8);add=newJButton(添加);del=newJButton(删除);String81=,t用户名”,“密码”;m=newDefaultTableModel(col,0);t=newJTable();t.setMod

19、el(m);JScrollPanesp=newJScrollPane(t);p1.add(newJLabelC用户名”);pl.add(user);PLadd(IIeWJLabe1(密码”);pl.add(pass);pl.add(add);p2.add(sp);p3.add(del);add.addActionListener(this);del.addActionListener(this);myConnectionconn=newmyConnection();ResultSetrs;rs=conn.getResult(select*from管理员);if(rs!=null)try(/m.

20、SetRowCount(O);/table.setModel(mm);while(rs.next()String用户名=rs.getString(“用户名”);String密码=WgetStringC密码”);Stringcloumns=用户名,密码;m.addRow(cloumns);)t.setModel(m);catch(Exceptione)System.67M.println(e.toString();)this.add(p1,BorderLayoutWO/?/);this.add(p2,BorderLayout.CE7V7,/?);this.add(p3,BorderLayout.

21、5Ot77);this.add(p4,BorderLayout.WEST);this.add(p5,BorderLayout,EAST);this.setTitle(用户管理”);this.setSize(600,400);)classIoginFrameextendsJDialogimplementsActionListenerfJPanelp;JTextFielduser,pass;JButtonlogin,cancel;publicIoginFrameOp=newJPanel();user=newJTextField(IO);pass=newJTextField(IO);login=Il

22、eWJBUtton(登录);cancel=newJButton(,iS);login.addActionListener(this);cancel.addActionListener(this);Iconbackgroundjcon=newImagelcon(upct.jpg);JLabelbackground_Label=newJLabel(backgroundJcon);p.add(background_Label);p.add(newJLabel(账号);p.add(user);Padd(newJLabel(密码);p.add(pass);p.add(login);p.add(cance

23、l);this.add(p);this.setTitle(系统登录);this.setSize(360,260);)5总结与展望做课设让我对java有了新的认识,首先我接触了很多上课见过见过但没有实际用过的类和方法,让我对编程有了许多新的思想。大一学了C语言,虽然当时学的还不错,由于学的都是入门知识,所以自己做的都是Dc)S下执行的程序,虽然可以实现一定的功能,但和自己平时用的软件相差很大。这学期刚开课学java感觉没什么新鲜感,它的跨平台特性也只是听听,根本没有认识,知道学到第七章图形界面用户编程的时候,我发现学会之后自己可以做出来的软件就更接近平时使用的软件了,不过由于平时学习不刻苦,到时

24、没有时间静下心来写java代码,知道结课做课设,才静下心来开始研究java,结合以前的编程知识,做起了自己的程序。我曾经用C语言做过这个系统,做起来会比拟熟练,同时想通过做课设学习一点数据库的知识,感觉这些知识更贴近实际应用,选好之后开始准备课设,先从最简单的主窗体,到主窗体的菜单,组件添加,再到各个功能的独立窗体的建立,再到最后的数据库连接,功能的实现,一步步走来,收获颇多。其中独立窗体中的组件排版是碰到的第一个问题,最简单的方法是在建每个窗体时把所有需要的组件全部重新添加进去,但是这样代码会很长,而却会多占很多内存空间,于是我决定把个功能窗体中共同的组件在一个新方法中统一加载,为了减小占内

25、存空间,组建的在主类的构造方法中生成,所有独立功能窗口公用组件,这样既减少了代码额长度,又提高了程序的内存利用率。还有很多问题,都在权衡之后得到了较优的解决方法。它能够使这次课设还让我对java的跨平台性有了进一步认识,当我学好代码兴致勃勃的想把它做成exe可执行文件时,在网上搜索之后发现它似乎很难实现,就是应为它的java语言的实现机制,通过jre来执行执行java代码,而不是调用系统本地代码。除此之外我还学到了新的编程技巧,比方对try,catch的运用。刚学的时候就是照书本上的打,很不情愿但是必须打的代码,在做课设时,我发现他又很神奇的功能可以帮助我解决用其他方法不好解决的问题,比方关闭窗口。刚开始程序只有主窗口时,关闭很好实现,但随着程序功能的完善,需要关闭的窗口越来越多,需要关闭的类型也便多了,到了关闭Diakg的时候,发现Diak)g不能强制转化为Frame,如果想用前面的方法管还得把多处代码进行修改,不过我想到了用try来解决这个问题。参考文献1李钟尉,马文强,陈丹丹Java从入门到精通第1版清华大学出版社2023.9刘万军,梁清华,王松波,宋强JaVa程序设计实践教程第1版清华大学出版社2006.9

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

当前位置:首页 > IT计算机 > Java

宁ICP备18001539号-1