java 聊天工具_课内资源 - 基于Java的简易聊天软件

一、目的与要求

《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。

该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和Java编程技术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使学生养成良好的程序设计风格,并掌握Java应用程序的设计开发过程和编程方法、测试方法。培养学生使用Eclipse设计程序,使学生学会使用他们去开发软件。

二、任务使用图形界面

登录功能:用户输入QQ号登录,首先判断QQ号是否存在,再判断输入的QQ号与密码是否一致,若不一致则提示用户,一致则允许用户登录

注册功能:用户填写必要的登记信息昵称和密码和一些选填信息,然后注册,将注册的用户信息写入到数据库当中

查找好友:输入QQ号,如不存在则提示用户,如果存在,在弹出与该用户的聊天对话框

文件传输:实现好友之间的文件的传送

双人聊天:实现好友之间的文字聊天的功能

三、总体设计

3.1 功能模块图

8d4b59b576f944a452d0dda74b7a5455.png

3.2 核心类库

数据库相关的操作类

9494c165d36e72b91a52acb08df3f99f.png

发送消息相关类

e53b0a69061051ed715f3dd1217d2669.png

用户界面类

0de9205966dffa7731672ded199eb2c0.png

7b553601070586304f68764fb03769e7.png

3.3 数据库实现

dcc145e32384c7476628fd285edd2f7d.png

6e813a611ce07c7b2847abf3b2f032f7.png

四、详细设计说明

4.1 登录窗口

c1097feed352ed68bed9569c402578b5.png

该界面采用绝对布局。上面为一个图片标签,左下角为头像,中间为QQ号输入框和密码框,其右侧为注册账号和找回密码,下面是登录按钮。

登录:如果没有输入信息;如果账号正确而密码不对,登录成功后根据不同身份进入不同界面

注册账号:点击弹出登录账号

4.2 注册账号

71bdb30b324922b66f2ae4c7f6529c9d.png

该界面为注册界面,上舍友昵称和密码为必填空间,其他生日,出生地,手机号为可填可不填。

立即注册:点击立即注册则检测各个控件是否满足当初的设定,若满足,则将新注册成功一个新用户,注册成功则将写入的数据写入数据库

4.3 聊天主界面

c64720d8fafc659b584908a8da65c846.png

该界面分为上测自己的信息,包括头像昵称QQ号,下侧是好友,会话,组别,个性签名的JTabbedPane,以及好友查找界面。

点击好友列表:双加则弹出聊天界面,单击右键则弹出右键对话框

查找好友:输入QQ号点击搜索按钮,如果存在,则弹出聊天对话框

4.4 聊天窗口

16263c2ee0bb525f340d74847ba1113f.png

该界面最上侧显示好友的头像和昵称以及个性签名,然后是接受框,下面一行是设置框,可以设置字体的字体字号颜色,以及可以发送表情,和发送文件。再下是发送框允许用户输入,发送和关闭按钮。

发送文字:可以实现发送设置好的字体

发送表情:点击表情,双击选中即可加入到发送框

发送抖动:点击抖动按钮发送抖动

五、调试与测试

5.1 登录界面测试QQ号码不能为空

测试QQ号码与密码是否一致

2599ba1ea413d72f3a9b3a82b80efd57.png

5.2 注册昵称不能为空,与数据库一致

e555e12d3aaf7fcafd1617f2b745e73a.png

密码不能为空

434aa55dd56cc968ca3a9522a3b5c3ab.png

确认密码要与密码一致

且确认密码不输或者输入与密码框不一致都会提醒用户

4dd06ea242f3af0fa945fc1a182df7a0.png

5.3 查找好友输入要查找的QQ号,点击搜索,如果查询数据库不存在则弹出对话框来提醒用户不存在,如果存在在弹出聊天对话框

30e704cc5ae611a9899bda399de7f950.png

5.4 主界面右键菜单当鼠标在好友列表中的时,单击右键弹出对话框,点击相应框会有相应操作。如果鼠标没在相应位置时,则不弹出

42f4e7c825d5afb665e8a053d5ace605.png

5.5 聊天主界面发送文字聊天消息,表情,其中聊天文字消息可以设置字体字号和颜色,表情双击双中

df9b70fa7d776adfa15435fdb1594830.png

发送文件,点击发送文件按钮,则会弹出文件选择框,选中文件点击确定则发送,接收到一方会弹出接收或是取消的对话框,点击确定则会弹出文件保存框选择路径和保存位置

0ac5c4f3d3f2067192fb43eb49b3e49c.png

六、总结

从最初看到题目的时候无从下手,到查阅资料慢慢搞清楚实现每一步大致的思路再到慢慢写出代码的雏形,中间有时候卡到一个点上卡好久,就有些羡慕那些选题相对好做一些的数据库类型的题目,为什么要选的这么麻烦这么综合的一个题目,但是又不断的去查阅资料,CSDN,Java API,疯狂Java书本,不知道在这短短的两星期内重复翻阅了多少次,于是之前不清楚的那些概念数据库JDBC操作,网络通信,输入输出流,AWT,Swing,线程等等知识点一点点熟悉起来,之前在课上学的知识在此都得到了应用。

又有一种开心,终于可以用自己学过的知识做出来一些可以有实际意义的东西,所以整天整夜地都在想着这一步该怎么做,下午要完成什么任务,还有那些可以优化,总是想把自己的所有空余时间用来把这个建议聊天软件做好做细节,毕竟QQ的功能是在太过强大,可以模仿的地方太多。总体而言,是一个很成功的实习,对java和数据库的知识有了进一步的认识和运用,对综合开发有了更多的热情,码代码能力进一步提高。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值