做界面的话可以有b/s,c/s结构两种。b/s就是浏览器/服务器的方式,用web的方式进行聊天。c/s就是client/server的方式,桌面程序样子的,一般都是这个方式。
java做桌面界面的一般有awt/swing/swt三种类库。最流行的是swing,老一点的是awt,如果你想做的界面和操作系统的界面一直(感官一样),那就用swt,swt是eclipse基金会为了开发eclipse而开发的java利用操作系统原生窗口的一组api,更快速方便。
如果你只是完成任务,就看看swing吧,很好的java图形库。另外,java基础知识也要很好才行。要能够语音视频的话,还要学jmf,这个比较难一点。
针对局域网的,那就另加一些socket编程的知识了
腾讯qq就是典型的java通信软件,咨询下腾讯公司
我记得有本书上有这个程序源代码,清华大学出版社 的书