一、项目简介
我们小组制作的程序是学生信息管理系统,如下是该程序的主页面,包含背景图片、用户名、密码等信息,并且使用了一些内部类实现了一些附加功能,例如监听器、计时器和版权声明窗口等。
并且实现了“登录”和“退出”按钮的单机时间,以实现用户验证和安全退出。
输入用户密码后点击登录按钮进入程序的选择界面 ,其中包含“查询学生信息”、“添加学生信息”、“修改学生信息”、“删除学生信息”和”安全退出系统“这五种功能。
首先进入查询学生信息界面,其中已经存入了我们班部分同学的信息,其中包含学号、姓名、性别、身份证号码、电话号码、籍贯信息。该界面可输入关键字来查询信息,并且在增添、修改、删除学生信息后需点击确定/刷新按钮来实现该功能。
然后再进入增添学生信息界面,通过填写下列信息来将该学生的信息添加到系统中。输入完信息后在右下角可以选择确定添加和取消添加两个选项。
进入修改学生信息界面,在该界面可以将已经添加的学生的信息进行修改,可将原有的信息删除更改为新的信息,右下角有应用修改和取消修改两个按钮。
最后进入删除学生信息的界面,在本界面可以在输入已经存入的学生的学号来删除该学生的所有信息,可点击右下角确定删除来实现。
使用完该系统后可以点击安全退出系统来实现退出系统的功能,点击后会弹出系统提示来确定是否要退出系统,其中有是和否两个按钮来选择是否退出系统。
二、项目采用技术
该项目从用了数据库、GUI、MVC、多线程编辑、图像处理、异常处理、字符串处理、日期时间处理等技术,并且使用git进行代码管理、使用issue进行项目推进。
三、项目亮点
我们项目界面相对美观、并且拥有容错的处理,并配置有文件和日志文件
四、团队成员负责模块
成员 | 负责模块 |
张东旭 | 文件框架 信息查询 学生类 |
蒋伟 | 学生信息增加,删除,改变 |
吕基璋 | 学生信息登录界面 |
五、git地址:https://gitee.com/zhangdongxurm/javakeshe.git
六、组员负责功能 :
学生信息登录界面
1. 程序介绍
2.登录界面的创建
首先我是先定义了一些静态变量,有数据库名称、数据库地址、数据库端口号等用于创建登录界面时使用。
在创建登录界面时首先创建一个JFrame对象,设置标题、大小、位置、图标等属性,并将其设置为不可调整大小和不可关闭。创建多个JPanel对象用来添加输入框和按钮。并且修改字体大小颜色。
3.背景图片添加
定义一个Image类型的变量image,用于存储背景图片。定义BackgroundPanel类的构造方法,接收一个Image类型的参数image,用于初始化背景图片将构造方法中传入的image参数赋值给类成员变量image。调整了背景图片位置。
4.实时更新时间
用while循环来实现一直运行,将当前时间设置为文本内容,用字符串的形式来显示
5.监听器的添加
定义好监听器接口后,为登录和退出按钮添加监听器实现登录和退出程序的功能并且为用户名和密码添加键盘监听器。
6. 程序的关闭
实现了WindowListener接口,用于监听登录界面的窗口事件,实现在关闭窗口时弹出确认对话框的功能。
遇到的困难:不知道如何判断什么情况下提示关闭窗口的对话框。
解决办法:写一个if的判断语句判断是否存在主界面,如果不存在或者主界面已经关闭,则弹出确认对话框,否则直接关闭登录界面。
7. 著作声明窗口
继承JFrame类用于显示著作权声明窗口,设置了窗口的大小,显示位置,添加了标题,并将著作声明用图片的形式来显示,创建背景面板用于显示图片。
文件框架 信息查询 学生类
1. *整体框架设计
主要使用了JavaSwing技术,完成了框架、面板等的创建,构建了GUI,设置了文本框,设置了字体和背景颜色等。先把框架的大小设置成禁止更改状态,然后设置出关闭窗口的按钮,然后把窗口的位置设置到屏幕中心,然后获取了一个容器,并对面板进行布局,然后设置了文本框的内容和格式等。
2.主方法:
通过JavaSwing、异常处理等知识,创建了本项目所需要的具体框架内容,比如添加信息框架,查询信息框架,修改信息框架等,以及具体的按钮等。在主方法中,具体设置了框架名,关闭按钮,框架大小,框架位置,背景颜色,字体;添加了包括查询信息,删除信息,添加信息,修改信息,安全退出系统板块的按钮,并对各个板块的内容进行了设置,对可能出现的异常进行处理。
3. 查询学生信息部分
使用了JavaSwing技术,集合、Java常用类、异常处理等知识,创建了查询界面的基本框架、内容等,如小组件,字体,背景颜色等。使用JDBC连接数据库,进行信息的查询。先创建了查询信息界面的框架,然后设置框架的尺寸等信息,之后创建面板,然后创建面板的相关信息和内容等,并对会出现异常的地方进行了处理。
- Student类
在类里面创建了学号、姓名、身份证号、电话号、性别、籍贯等信息,运用了构造器等知识。
- 数据库读写编码部分
数据库读写编码部分运用到了JDBC
学生信息增加,删除,改变
- *面向对象设计
完成的模块是信息增加,删除,更改。
2. *全局搜索功能:
实现学生信息所用到的技术JavaSwing,JDBC连接数据库,并执行SQL查询语句、更新语句等操作,运用链表查询学生信息,动作事件处理。
难点:学生信息与数据库的连接,界面结构布局,界面与动作事件联系等。
解决方案:具体来说,代码首先使用JDBC连接数据库,并执行SQL查询语句,将查询结果存储在ResultSet对象rs02中。
然后,代码使用一个ArrayList对象stuArr来存储查询结果,将每一行数据转换为一个Student对象,并将这些对象添加到stuArr中。
\
3. *数据库读写部分
数据库运用到JDBC连接数据库,并执行SQL查询语句、更新语句等技术。
4. 数据库设计
简述数据库设计
数据库表设计的截图
- 数据库读写编码部分
数据库读写部分运用到JDBC。