java聊天程序开发文档.doc
文本预览下载声明
一: 软件开发环境:
以JAVA为开发语言,
Eclipse3.3作为开发平台,
还采用了Access数据库,用来管理用户信息,从而更好地实现聊天涂鸦功能。
系统使用说明
1.通过文本的方式进行聊天,支持在聊天过程中加入表情,发送和显示图片,保存文本聊天记录。
2.支持基本的系统管理功能,包括:注册、登陆、离开、显示在线用户,以及在线/隐身的状态管理。
3 .支持网络涂鸦功能,所有在线用户共享网络涂鸦区,每个用户都可以利用点、线、圆、面以及图片方式进行自由绘图,利用橡皮擦擦除绘制的图形。由于涂鸦区共享,每个用户对于涂鸦区的改动,都会传递到其他客户端。
二: 软件设计目的功能
1:编写目的
在完成本学期JAVA课题设计作业的基础上,也锻炼了自我能力,从而加强自我的编程水平。
2:软件主要功能及实现方法
本软件实现功能有:
(1)网络聊天功能,可以同时与多人进行聊天。所有在线人可以群聊,也可以两人间私聊。通过采取双击在线用户来实现单人多人的聊天。既可以让在线人公共聊天,又可以保持一定的隐私权。实现方法为采用了本地连接,并采用了9000这一端口。
(2)用户管理。采用了访问数据库的形式进行用户管理,实现了用户的登陆、注册等功能。用户在注册时,在注册时会对用户名进行查询,防止相同用户名的使用。在注册、登陆等时,若出现错误,会自动弹出对话框提示错误。
(3)涂鸦板程序。本涂鸦板实现了鼠标画图,可以实现画圆、直线和任意图形,并且可以更改画笔颜色及画笔粗细,其中颜色还可以进行自定义。
本软件使用技术
(1)在聊天块中采用了网络编程技术,采用了本地连接即设立IP为127.0.0.1,端口号默认为9000,TCP协议连接,在Server端采用了多线程技术,每一次连接Server都会为其打开一新线程。并将接到信息发送给全部打开的对话框,包括信息的发送者。
(2)在用户管理是采用了数据库编程。由Access作为数据库来保存用户信息。每一用户有多项内容,即用户名、密码、状态。在用户登陆、注册时与数据库连接,并使用查询语句来更新数据库。
(3)在画图板块中采用了鼠标事件。在鼠标移动式,,使用鼠标获得所在点的坐标,设为P1,鼠标移动获取下一点,设为P2,P1与P2间画直线,鼠标再移动式,获取下一点,将P2的值传于P1,新点值传给P2,再画直线,如此反复。当鼠标放开时,P1、P2均取空,防止点的无线相连而无法画间断曲线。在图像储存是采用二进制文件流,对文件进行保存采用向量来对点进行描述。
本软件界面设计原则
为更好地说明界面,下面把我的界面呈现出来:
登陆界面:
注册界面:
用户使用界面:
三:软件运行基本流程:
(1)运行Server端,打开数据库,从而实现随时的输入输出。
(2)运行Chat.java,此时会弹出登录对话框,输入用户名和密码即可登录,若没有注册过,可以选择注册,然后再来上线聊天……
(3)登陆后,用户可以选择于任何在线的人进行聊天,用户也可以选择群聊,这是通过双击用户名称实现的。
(4)用户还可以打开涂鸦板,进行任意绘图,在绘图中,你可以自己选择颜色、画笔粗细,也可以调用java调色板来自定义颜色。
(5)用户间可以实现涂鸦板共享,通过发送Stroke来实现图片发送。从而实现涂鸦板的共享。
测试用例
首先运行Server类,启动服务器。然后运行Chat类,在弹出的“QQ2008登陆”界面中可进行以下操作:
注册。单击“注册”按钮,弹出“Register”界面,然后进行注册
例如:
*Imput name: ww *Imput password: ww *Imput password again: ww 输入完毕后,单击注册按钮,如果“name”、“password”至少有一个没有被使用过,则弹出“消息”提示框提示“注册成功!”;否则提示”注册失败“
2.登陆。正确输入用户信息,例如:
Imput name: ww Imput password: ww 然后选择登录状态(在线、隐身、离开),再单击“登录”按钮,则弹出“浪迹天涯聊天室”界面。
假设用户123(密码:123)也进行了如上操作,登录到聊天室。现在在聊天室界面的右边“用户列表”中即可显示出登陆聊天室的用户及其登陆状态(也可在下拉菜单“请选择你的登陆状态”修改状态)。
3.聊天。
i.发送文字:假设当前用户为123,在“用户列表”下单击用户ww,在界面左下角的输入区输入要发送的文字,单击“”按钮,即可将信息发给用户ww。还可以在下拉菜单“字体” 、“颜色”、“样式”、“背景”、“字号”对文字进行设置;
ii.发送图片:单击“表情”按钮,弹出图片选择框,单击(再单击“打开
显示全部