大二Java课程设计——即时通讯程序

这是本人大二下学期的课程设计,本博客简单的讲解各个部分代码。整个项目已打包上转到github,以下是链接:github网页(点不开的话请复制黏贴访问:https://github.com/liangtaichi/EasyLiveChatByJava

用到的技术:javaSwing,mysql8,以及简单的java多线程。

项目需求

实现一个Java版即时聊天程序。

【功能提示】

1、用户登录及登录验证:用户能够使用固定帐号(帐号程序内置即可,无需完成额外的注册功能)登录系统,系统能对预定的帐号、密码进行验证。

2、两两聊天功能。

3、建群及群聊功能,并且在下次登录时,群聊组依然存在。

4、共享白板:聊天时,可创建白板,在白板上共同绘制图形,可保存白板绘制的图片。

5、好友管理:能够显示好友列表,并能够添加、修改、删除好友。

6、在线、离线状态显示:能够显示好友的在线状态或离线状态。

7、聊天记录管理:能够以文件或数据库形式将聊天记录进行存储,并能打开、显示、删除所存储的聊天记录。

需求分析

系统总体设计

数据库的设计或文件结构的设计

本系统的数据库采用mysql。

只需要一个id作为主键,自动递增,然后一个user还有一个psw三列即可,具体如图:

聊天记录:一个count作为主键,自动递增然后一个sendorreceive列选择这条记录是发送的还是接受的,最终一个information列描述具体信息。同时,每个用户的聊天记录存在不同表中。具体如图:

群组关系:一个count作为主键,自动递增,然后一列是群名称,一列是群成员,所有群组关系存放在同一个表中。具体如图。

好友关系:和群组关系差不都,一个count作为主键自动递增,一个frendA列作为一个好友,一个frendB列作为另一个好友,如果两个名字出现在同一行,则证明两个人是好友。具体如图。

群组聊天记录:一个count作为主键自动递增,一列groupname存放该聊天记录发送的群,一列user存放发送人的名字,一列information存放发送的信息。如图。

项目结构



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容