前后历时一个多月的Java实现聊天通信项目-仿QQ聊天室基本告一段落,期间面对了很多问题,也有不同的解决方案,重写了几次核心代码,等等问题。现在在项目的结束之时,给自己做一个总结,算是一个回顾,算是一次提升,也是一次新的开始。
Github链接
https://github.com/SocraHat/ChatRoom.git
图形化界面
本次通信项目是基于图形化界面的聊天室,使用了基本的JFrame窗体,加上了各种JTextField、JButton、JLabel、JList组件,完成了注册登陆窗体、好友列表窗体、聊天窗体等,温习了前面学习的java中的swing组件的使用。
事件监听
想要图形化界面对做出的选择进行响应,事件监听是不可缺少的,对于一些基本的按钮、列表选择、鼠标双击等事件可以进行监听,然后程序做出不同的处理。可以说图形化界面的实际应用是和事件监听紧密相连的。
类的封装
之所以提到使用自己封装的类,是因为java三大特性之一的封装可以带给我们使用时很多便利,在本项目中,重点提一个MySocket类和一个ReceiveMessage类。
MySocket类:
MySocket类是包含了服务器端使用的socket对象的类,使用这个MySocket类可以使服务器在处理注册登陆、聊天、事件申请处理等不同要求时提供完备详细的信息,以及便捷的操作,比如一个socket肯定对应一个id,一个密码,一个昵称,一个自己的好友列表等信息。
ReceiveMessage类:
该类是针对每一个客户端处理来自服务器发来的各种信息的封装类&#