前段时间用java写了一个“山寨QQ”,趁着今天有时间,来总结一下:
本文最后是这个程序的源代码
一、项目的主要意义:
通过对QQ的模仿,来熟练J2SE的一些技术点。
二、项目实现的主要功能:
1.注册,通过在界面上填写相关资料,获得一个唯一的账号,并持久化到系统的本地文件
2.登录,登录到服务器,在自己的QQ界面上,可以查看好友资料
3.添加好友,添加在线的用户为自己的好友
4.聊天(离线消息,在线消息),实现了系统托盘监听器
5.传文件,可以给在线好友传送文件
6.系统后台监视,可以实时了解当前系统的在线用户,可以给用户发送系统消息
7.客户端掉线提示
三、项目所涉及到的关键技术点
1.java Swing界面编写
2.java多线程
3.内存缓冲队列
4.socket通信
5.自定义通信协议
6.设计模式
7.线程监控
四、项目的主要界面:
1.注册界面,如下图
2.登录界面,如下图所示:
3.登录成功主界面
4.查看好友资料
5.好友上线提示
6.查找添加好友
7.聊天窗口
8.传送文件
9.系统消息
10.后台界面
忙活了这么久,也算是给自己有个交代了。
接下来的任务就是重新拾起web方面的知识,希望能够在以后的学习过程中,
跟大家互相勉励,共同提高啦······
另外本人还有一些没有解决的疑惑,希望能得到大虾们的帮助:
1,怎样才能将主界面上面的那棵树的每个节点都换成对应人的头像呢?就是说让树的每个叶子节点都是不同的图标,我
查找过一些资料,上面的效果也重写了渲染器,可是还是没有达到腾讯的效果哦。
2,今后本人还想改改通讯方式,想用MINA框架来实现对象的传输,有没有人常用MINA的,给些建议和忠告呢?呵呵,有了你们的指点,我将会少走很多弯路的。
3,对于这个程序,是在“蓝杰实训”做的,如果想做视频聊天,不知道有谁可以讨论一下的..呵呵