java学生信息录入系统课程设计报告

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qiaoermeng/article/details/79315970

每个人做的不一样,下面附上与此设计报告相匹配的代码,详细可见
http://blog.csdn.net/qiaoermeng/article/details/79297626(注意类名,包名要一致,若有问题可留言解答,(^▽^))
封面(各自要求不一样)
目录为:
这里写图片描述
绪论
JAVA不仅是一门最为流行的计算机语言,而且已经形成一种专门的技术,带来了20世纪末和本世纪初网络科技和网络经济超常发展。JAVA的与平台无性、高可靠性、安全机制和内嵌网络支持等特性使它成为编写网络应用程序的首选工具之一。
从另一方面来看,软件开发的规模也日渐扩大,对软件质量的要求越来越高,与之相对应的是,各种软件技术和工具层出不穷,各种软件开发、软件质量控制、软件管理法方法学业日渐成熟。面对软件发展的这一现状和趋势,无论是拥有计算机基础知识的学生还是IT领域的起步者,熟练掌握一门语言都是至关重要的。JAVA是一个面向对象的程序设计软件,它将重点放在数据和对象的接口上,与C++相比的主要不同在于多继承,在JAVA中,取而代之的是简单的接口,以及JAVA的元类模型。这也很大程度上给我们初学编程的人带来很呆的方便,也使我们更容易掌握JAVA编程的一些基本要领和深层知识。该程序是利用文件来实现学生信息录入及提交的,程序的重要作用是对学生信息进行录入,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
这次的信息录入就是用JAVA语言来建立三个界面,并且实现三个界面之间的切换。从而,实现真正意义上的信息录入。

【关键词】:面向对象;适配器;继承;异常处理

第1章 课程设计任务及要求
1、编写一个学生信息登记系统,在新生入学时,用于录入学生的各种信息,如姓名,性别,班级,电话,手机,电子邮箱,通信地址,邮政编码等。
2、在图形用户界面上,有菜单栏以及各种各样的控件,并且相应的实现其功能。
3、当学生的信息被录入后,需要保存在文件中。
第2章 程序简介
此次程序设计,总共三个模块,分别是login(登录界面),myfram1(信息录入界面)以及tijiao(信息提交界面):
对于第一个模块即login(登录界面),首先设计一个容器,然后在容器中加入面板使用JPanel,面板布局设置为gridLayout,在账号,密码这一块使用JLabel、JTextField、JPasswordField,登录和取消使用按钮JButton。最后给登录和按钮按钮添加鼠标处理事件。
对于第二个模块即myfram1(信息录入界面),首先设计一个容器,然后在容器中加入面板使用JPanel,面板布局设置为gridLayout,基本信息使用JLabel、JTextField、JComboBox、JMenu、JMenuItem、JMenuBar、JPanel,最后给保存和提交按钮添加鼠标处理事件,同时附加了文件流的处理。
对于第三个模块即tijiao(信息提交界面),首先设计一个容器,然后在容器中加入面板使用JPanel,面板布局设置为gridLayout,基本信息使用JLabel、JTextField、JComboBox、JMenu、JMenuItem、JMenuBar、JPanel,最后给保存和提交按钮添加鼠标处理事件。点击第二个模块的提交按钮后用TextArea将
由第二个模块点击保存生成的学生信息文件读取出来,最后给退出系统按钮添加鼠标处理事件,同时附加了文件流的处理。
第3章、功能模块的设计和实现
3.1总模块的设计
3.1.1总模块设计流程图
流程图

以上为学生信息录入系统总模块设计流程图
3.1.2界面设计
(1)login(登录界面):
创建一个登陆界面,学生能够用自己的学号和密码来从此窗口登陆进去下一个页面(信息录入界面)。如下图一所示:

这里写图片描述
图一
此界面包含学号密码的登陆,以及登陆后续的操作(后面细说)。
(2)myfram1(信息录入界面):
创建一个信息录入界面,学生能够用点击第一个login(登录界面)中的登陆之后进入这个界面,之后,录入自己的基本信息,其中的保存按钮,可以将学生录入的信息保存到f盘中的学生一个名为“学生信息”的txt文件中,点击提交按钮可以进入到下一个界面。如下图二所示:

这里写图片描述
图二
(3)tijiao(信息提交界面):
创建一个信息提交界面,学生能够通过点击myfram1(信息录入界面)中的提交按钮之后进入这个界面,并且将学生最后一次保存的信息展示出来,此界面还有一个退出系统的按钮,用于退出系统。如下图三所示:
这里写图片描述
图三
3.1.3功能设计
这个学生信息录入系统的基本功能按钮就是界面之间的切换,以及文件的保存以及文件的读取。
(1)login(登录界面)中的登陆按钮:
这个登陆按钮功能是只有在学号和密码同时正确的情况下才能登陆进去第二个模块,myfram1(信息录入界面)。如果错误的情况下会出现下图四所示的情况,并且清空所填写的错误的账号或者密码信息,以便学生可以快速填写正确账号或者密码信息。如果账号密码信息填入正确的情况,则直接进入到第二个模块,即myfram1(信息录入界面),如图五所示。

这里写图片描述
图四

这里写图片描述
图五
(2)myfram1(信息录入界面)菜单栏中的菜单项退出:
学生点击此菜单项,可以直接退出此窗口。如下图六,图七所示:

这里写图片描述
图六
这里写图片描述
图七

(3)myfram1(信息录入界面)保存按钮:
如果必填项已经填写过的情况下,则会在f盘生成一个文件(如图八),名字为学生信息.txt。最新一次录入信息的内容将会在此文件当中展示出来,如图九所示:
这里写图片描述
图八
这里写图片描述
图九
如果必填项没有全部填写(带*)的情况下,则在学生点击保存按钮的时候,将会弹出一个对话框,用于提示必填项没有填写,如图十所示:

这里写图片描述
图十
(4)myfram1(信息录入界面)提交按钮:
在学生将信息保存之后(点击了保存按钮),再点击提交按钮,就会在另外一个窗口展示学生最后一次录入的信息,而且不能被修改。展示的结果如图十一所示:

扫描二维码关注公众号,回复: 5474435 查看本文章

这里写图片描述
图十一
(5)tijiao(信息提交界面)退出系统按钮:
在这个界面中,点击退出系统按钮,系统会退出信息录入系统(关闭这个信息提交界面)。
3.2各个子模块的设计和实现
(1)login(登录界面)
这个界面需要实现的功能就是在账号和密码同时正确的情况下,需要登陆到第二个模块(信息录入界面)。包括的基本组件:标签,文本框,密码框,按钮。包括的功能:登陆按钮实现界面切换,判断密码的正确与否,取消按钮退出窗口。
界面控件方面:JPanel ,JLabel,JButton,JPasswordField,JTextField这些类的对象初始化,之后加入到内容面板上面。
布局方面:设置为BorderLayout布局,将contJPanel设置为内容面板,将其余的四个p1,p2,p3,p4,添加到contJPanel里面,之后,将控件添加其中。以下是界面设计部分代码。
这里写图片描述

功能方面:对登陆按钮和取消按钮添加鼠标处理事件,当点击登陆的时候,可以进入到信息录入界面,操作很简单,就是关闭当前窗口,新建另一个窗口(可以用创建第二个窗口的对象来实现,因为在创建对象的时候,系统会自动调用其构造函数)。具体代码如下:

这里写图片描述
(2)myfram1(信息录入界面)
这个界面需要的功能就是在必填项已经填写完整的情况下,可以实现信息被存入文件当中,而且可以被读出来。
界面控件方面:JPanel ,JLabel,JButton,JMenu,JComboBox,JTextField这些类的对象初始化,之后加入到内容面板上面。
布局方面:同上。以下为界面部分代码:

这里写图片描述
这里写图片描述
这里写图片描述

功能方面:对保存按钮和取消按钮添加鼠标处理事件,当点击保存的时候,在必填项已经填写完整的时候,会生成一个文件,即添加一个鼠标事件,具体代码如下:
这里写图片描述
这里写图片描述

对于提交按钮,会在窗口展示最后一次保存的学生信息。(在提交界面介绍具体代码)。
(3)tijiao(信息提交界面)
这个界面是最简单的一个界面,作用就是将文件读出来,并且可以退出此界面。
界面控件方面:JButton,TextArea等类的对象初始化,再将其添加到内容面板上。
布局:同上。此处代码比较简单,就不做展示了。
功能方面,即读取文件(注意要对异常进行处理,即抛异常),具体代码如下,退出系统按钮功能同之前退出窗口一样。

这里写图片描述
第4章 出现的问题及解决方案
出现的问题:在这次课程设计的过程中,出现的问题有两个:(1)不知道如何布局。起初在设计的时候,只知道组件的功能以及作用,但是添加上去的部件怎么去给它固定,排版,这个算是当时很是头疼的问题。(2)不知道怎么进行界面之间的切换。虽说知道一定是给按钮添加鼠标处理事件,但是是怎么去具体的处理这个事件,当时是不清楚的。
解决方案:对于第一个问题,这个问题是在看完书后解决的,上面清楚的说明了如何布局。但是一开始还是有点不是很清楚,于是详细的细细研究,发现可以先设置一个面板为内容面板,然后在内容面板上面添加其他的小面板,再在小面板上面添加所需要的控件(可以这么理解,先在frame上面放一个大布,这个布覆盖了整个窗口,再在这个大布上面放其他的小布,至于小布怎么摆放就是要看大布的布局方式了,然后再在小布上面添加所需要的部件,为了可以让部件看着特别完整美观,可以进一步对于小布进行布局的设置,这样层层嵌套,就可以很完整的把布局整好了,而且外观整齐大方);对于第二个问题,这个问题是百度了一下,虽说当时百度上面说的特别简单,只有一句话,就是关闭当前窗口,打开新窗口。不过这个问题很简单的就解决了。

第5章 程序的亮点
这个程序比较出彩的地方:
(1)登陆的时候辨别正确性,只有当账号和密码全部都正确的情况下,才可以跳转到信息录入页面。否则的话,会提示有错。
(2)保存信息的时候,只有把必填项全部填写才会进行这个按钮的保存信息的功能,否则的话,会提示重新输入必填项。
(3)信息不仅保存在了一个文件当中,在点击提交按钮的时候,这个文件当中的内容会在新的窗口当中显示出来。

结论
此次课程设计,相比以往不太一样,这次的设计更加贴近于生活,而且自己也经常会接触到。心理路程由一开始的内心小兴奋到困惑到解决问题到又有问题到又解决问题到最后基本成型,自己内心还是有点开心的。说实话,这次的设计是我人生当中第一次一个人看着书完成的,这个过程的小艰辛只有我才知道,一开始只是知道一些比较零碎的知识,而且很理论化,没有把这些理论化为实践,有句话说得好,实践是检验真理的唯一标准。出现的问题自己在书中和网络上面找到了解决办法,就带马上解决,一刻都不能耽误。这次的小应用可以说是先建立三个模块,之后对于三个模块进行布局然后给容器上面添加小控件,之后对于按钮添加鼠标点击事件进而实现界面之间的切换,这个是特别重要的。首先,让我加深了对Java语言的理论知识的理解,其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验,最后,加强了我对Java语言的学习兴趣和好感。
做完这次的设计,觉得对于平时的java知识得到了应用,心里是无比的激动万分。对于这个学期的这门课,心里还是不觉得难的,挺好理解。因为之前在以往的学习过程中,对于c++有过学习,由于两者之间有点类似,都是面向对象的,只是java更高端,更实用。
参考文献
[1] 耿详义,张跃平 Java 2 实用教程 清华大学出版社,2004.2
[2] 王浩娟,卫军 Java 程序设计 清华大学出版社 2017.2
[3] 王鹏,何呁峰 Java Swing图形界面开发与案例详解 2008.12

猜你喜欢

转载自blog.csdn.net/qiaoermeng/article/details/79315970