面向对象课设--个人版

一、项目简介

功能描述:

这个系统是模仿QQ所做的,主要实现了QQ的聊天功能(还可以发送表情)、加好友、登录注册QQ号。主要有四个界面:登录、注册、好友列表、聊天界面。其中我用到了数据库存储用户的信息,其中涉及到不懂的知识有在视频网站观看了一些视频学习,主要学习了数据库的连接、建表、增删改查,需要用到的方法查了很多篇博客。

个人负责任务:GUI界面设计及数据库

团队博客链接:

https://www.cnblogs.com/chtdeboke/p/15785462.html

功能架构图

三、个人任务简述

1. 完成的任务与功能

2. Git提交记录截图:

四、本人负责功能详解

1.* 数据库设计

  • 根据User类,数据库设计了以下几个属性:用户id,昵称,密码,性别,头像,用户状态(在线、离开、忙碌),该用户的好友id。

2.*数据库读写部分

  • 我下载了SQLyog,用它可以将数据库信息可视化,所以直接在里面把用户信息存了进去,然后用JDBC将java和数据库连接起来。

3.数据库读写编码部分:

  • 使用了UTF-8编码

4.界面设计部分

  • 注册界面设置的性别选择下拉框不能读取用户的选择,查阅资料后将下拉选择设置了监听器即可读取用户选择的性别信息。

关键代码:

五、课程设计感想

  • 1.刚开始写界面时对于各组件不太熟悉,文本框、图片等插入后使得布局混乱呈现的效果并不好,后来查阅了很多与GUI相关的博客,然后将整体面板的布局及图片、文本框、密码框的大小进行了调整,最终得到的页面较为完整、简洁。
  • 2.面板中有许多按钮,它们分别有相应的功能,之前在想如何在鼠标点击按钮后执行其功能,后来了解了监听器的用法,给每个按钮设置了监听器,系统就可以连续运行下去了。
  • 3.在聊天窗口原本是想做一个像QQ的表情浮窗,鼠标移动到表情按钮即可显示很多表情,但是查了一些资料进行一番尝试后并没有得到想要的效果,然后就把浮窗换成新做一个面板,这个表情面板设置为网格布局使得表情排列整齐,然后再设置按钮,把每个表情图片插入到按钮,再把按钮背景色调成透明并去掉按钮边框。
  • 4.向好友发消息时不知道何时控制服务器的打开与关闭,所以就想新设置一个面板,其中只有两个“开启服务器”和“关闭服务器”按钮,当用户开始聊天时点击按钮让服务器运行,虽然这样做体验感并不完美,但是基于目前可以完整地运行系统功能。
  • 5.关于数据库之前没有实际用过,每次在命令提示符里查询数据库内表的数据较为不便,查阅过后安装了一个数据库可视化的软件(SQLyog),然后当有新用户注册时信息就可以直接在这个软件看得很清楚。

六、展望

  • 1.自己所完成功能的不足之处及以后想要采取的改进方法。
    登录界面设计了自动登录和记住密码功能但是由于刚接触数据库,时间比较紧只学习了基本的知识,所以没有做这部分功能,此次课设结束后我想把这部分功能完善好。
  • 2.可选:
    本次课设后想要进一步学习数据库以及网络编程的知识,本次课设我没有做多线程这一块,所以也想更多地了解多线程技术并投入应用。
posted @ 2022-01-11 21:26  SmileCHT  阅读(31)  评论(0编辑  收藏  举报