Java聊天室系统方案Word文档格式.docx

上传人:b****2 文档编号:4124985 上传时间:2023-05-02 格式:DOCX 页数:30 大小:67.13KB
下载 相关 举报
Java聊天室系统方案Word文档格式.docx_第1页
第1页 / 共30页
Java聊天室系统方案Word文档格式.docx_第2页
第2页 / 共30页
Java聊天室系统方案Word文档格式.docx_第3页
第3页 / 共30页
Java聊天室系统方案Word文档格式.docx_第4页
第4页 / 共30页
Java聊天室系统方案Word文档格式.docx_第5页
第5页 / 共30页
Java聊天室系统方案Word文档格式.docx_第6页
第6页 / 共30页
Java聊天室系统方案Word文档格式.docx_第7页
第7页 / 共30页
Java聊天室系统方案Word文档格式.docx_第8页
第8页 / 共30页
Java聊天室系统方案Word文档格式.docx_第9页
第9页 / 共30页
Java聊天室系统方案Word文档格式.docx_第10页
第10页 / 共30页
Java聊天室系统方案Word文档格式.docx_第11页
第11页 / 共30页
Java聊天室系统方案Word文档格式.docx_第12页
第12页 / 共30页
Java聊天室系统方案Word文档格式.docx_第13页
第13页 / 共30页
Java聊天室系统方案Word文档格式.docx_第14页
第14页 / 共30页
Java聊天室系统方案Word文档格式.docx_第15页
第15页 / 共30页
Java聊天室系统方案Word文档格式.docx_第16页
第16页 / 共30页
Java聊天室系统方案Word文档格式.docx_第17页
第17页 / 共30页
Java聊天室系统方案Word文档格式.docx_第18页
第18页 / 共30页
Java聊天室系统方案Word文档格式.docx_第19页
第19页 / 共30页
Java聊天室系统方案Word文档格式.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java聊天室系统方案Word文档格式.docx

《Java聊天室系统方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java聊天室系统方案Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。

Java聊天室系统方案Word文档格式.docx

2.主人和客人之间可以互相发送短消息进行即时聊天。

3课程设计报告书主要容

1需求分析

2总体设计

2.1设计的总体思想与算法描述

2.2模块结构图

2.3各功能模块的功能与处理流程描述

2.4界面设计

3各功能模块程序设计

按照功能模块的功能与处理流程描述给出详细的程序代码,并给出重点语句

的注释.

4小结

4课程设计要求

1按时到机房签到,在指定机位上机。

遵守机房纪律。

2独立完成课程设计任务。

指导教师到机位上指导学生和分时段验收学生完成的程序。

3按时提交打印的课程设计报告书。

5课程设计参考书

[1]许文宪懂子建.Java程序设计教程与实训.:

大学,2005.

[2]辛运帏.Java程序设计.:

清华大学,2004

[3][美]Echel,B.Java编程思想(第三版).:

机械工业,2005

1需求分析

聊天室系统使用JAVA+SQL完成,ECLIPSE完成代码编写,JIGLOO完成界面设计,SQLSERVER完成数据库管理。

聊天室通过输入的对方IP,将JTextField中的容发送到拥有此IP的主机(前提是对方也启动了聊天室程序)。

网络的通信使用UDP协议,即时搜寻网络上的短消息,并可恢复对方消息。

数据库的表只有一个User_Info,用户通过用户管理模块登录,注册,修改密码。

系统有三个类,MainWin、ChatRoom、jdbcodbc。

MainWin是程序的入口类,界面是登陆,注册,修改密码的JFrame窗口。

ChatRoom是聊天室的主窗口,负责搜发消息。

jdbcodbc负责数据库的连接,有一个构造函数,一个查询方法,一个更新方法,三个返回方法。

三个类都放在Com包里,Com包在Chat项目里。

具体需要实现以下一些基本功能:

●用户管理模块

●数据库连接模块

●聊天室界面

2总体设计

2.1设计的总体思想

程序分为三个部分:

数据库连接,聊天室管理,用户管理。

其中用户管理有分为用户注册,用户登录,用户修改密码。

2.2程序功能模块设计

图2.1程序功能模块图

2.2.1主窗口对象

MainWin()方法:

构造函数,调用initGUI()方法以与父类JFRAME的构造函数。

main()方法:

程序的入口。

initGUI()方法:

加载窗口的各个组件以与事件处理。

2.2.2数据库连接对象

jdbcodbc():

构造函数,加载数据库驱动,建立数据库连接。

CheckInfo():

将查询语句得到的数据库容赋给数据集。

UpdateInfo():

用插入语句使数据库更新。

2.2.3聊天室对象

ChatRoom():

并用循环实现实时接受数据包里的消息。

initGUI():

2.3界面设计

2.3.1程序登录界面设计

图2.2登录界面

2.3.2程序注册界面设计

图2.3注册界面

2.3.3程序密码修改界面设计

图2.4密码修改界面

2.3.4聊天室界面设计

图2.5聊天室界面

3程序设计

3.1程序主界面设计

publicclassMainWinextendsjavax.swing.JFrame{

publicstaticvoidmain(String[]args){

MyThreadth=newMyThread();

th.start();

}

publicMainWin(){

super();

initGUI();

privatevoidinitGUI(){

try{

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

this.setPreferredSize(newjava.awt.Dimension(571,395));

getContentPane().setLayout(null);

this.setTitle("

\u6b22\u8fce\u8fdb\u5165\u804a\u5929\u5ba4"

);

getContentPane().setBackground(newjava.awt.Color(236,233,216));

this.setVisible(false);

this.setResizable(false);

{

jTabbedPane1=newJTabbedPane();

getContentPane().add(jTabbedPane1,"

Center"

jTabbedPane1.setBounds(0,0,563,361);

jTabbedPane1.setBackground(newjava.awt.Color(236,233,216));

{

jPanel1=newJPanel();

jTabbedPane1.addTab("

登录"

null,jPanel1,null);

jPanel1.setPreferredSize(newjava.awt.Dimension(522,250));

jPanel1.setLayout(null);

{

utton1=newutton();

jPanel1.add(utton1);

utton1.setText("

\u767b\u5f55"

utton1.setBounds(384,176,85,31);

utton1.setFont(newjava.awt.Font("

宋体"

0,20));

}

jTextField1=newJTextField();

jPanel1.add(jTextField1);

jTextField1.setBounds(208,80,93,31);

jTextField1.setFont(newjava.awt.Font("

jPasswordField1=newJPasswordField();

jPanel1.add(jPasswordField1);

jPasswordField1.setBounds(208,177,93,31);

jPasswordField1.setFont(newjava.awt.Font("

jLabel1=newJLabel();

jPanel1.add(jLabel1);

jLabel1.setText("

\u7528\u6237\u540d\uff1a"

jLabel1.setBounds(52,76,93,31);

jLabel1.setFont(newjava.awt.Font("

0,22));

jLabel2=newJLabel();

jPanel1.add(jLabel2);

jLabel2.setText("

\u5bc6\u7801\uff1a"

jLabel2.setBounds(52,177,93,31);

jLabel2.setFont(newjava.awt.Font("

}

jPanel2=newJPanel();

注册"

null,jPanel2,null);

jPanel2.setLayout(null);

jLabel3=newJLabel();

jPanel2.add(jLabel3);

jLabel3.setText("

jLabel3.setBounds(117,70,65,23);

jLabel3.setFont(newjava.awt.Font("

jLabel3.setSize(93,31);

jLabel4=newJLabel();

jPanel2.add(jLabel4);

jLabel4.setText("

jLabel4.setBounds(117,122,93,31);

jLabel4.setFont(newjava.awt.Font("

jLabel5=newJLabel();

jPanel2.add(jLabel5);

jLabel5.setText("

\u59d3\u540d\uff1a"

jLabel5.setBounds(117,180,93,31);

jLabel5.setFont(newjava.awt.Font("

jLabel6=newJLabel();

jPanel2.add(jLabel6);

jLabel6.setText("

\u6027\u522b\uff1a"

jLabel6.setBounds(117,237,93,31);

jLabel6.setFont(newjava.awt.Font("

jTextField2=newJTextField();

jPanel2.add(jTextField2);

jTextField2.setBounds(234,70,93,31);

jTextField2.setFont(newjava.awt.Font("

jPasswordField2=newJPasswordField();

jPanel2.add(jPasswordField2);

jPasswordField2.setBounds(234,122,93,31);

jPasswordField2.setFont(newjava.awt.Font("

jTextField3=newJTextField();

jPanel2.add(jTextField3);

jTextField3.setBounds(234,180,93,31);

jTextField3.setFont(newjava.awt.Font("

jTextField4=newJTextField();

jPanel2.add(jTextField4);

jTextField4.setBounds(234,237,93,31);

jTextField4.setFont(newjava.awt.Font("

utton2=newutton();

jPanel2.add(utton2);

utton2.setText("

\u6ce8\u518c"

utton2.setBounds(373,236,85,31);

utton2.setFont(newjava.awt.Font("

jPanel3=newJPanel();

密码修改"

null,jPanel3,null);

jPanel3.setLayout(null);

jLabel7=newJLabel();

jPanel3.add(jLabel7);

jLabel7.setText("

\u65e7\u5bc6\u7801\uff1a"

jLabel7.setBounds(98,94,36,15);

jLabel7.setFont(newjava.awt.Font("

jLabel7.setSize(93,31);

jLabel8=newJLabel();

jPanel3.add(jLabel8);

jLabel8.setText("

\u65b0\u5bc6\u7801\uff1a"

jLabel8.setBounds(98,148,36,15);

jLabel8.setFont(newjava.awt.Font("

jLabel8.setSize(93,31);

jLabel9=newJLabel();

jPanel3.add(jLabel9);

jLabel9.setText("

\u786e\u8ba4\u5bc6\u7801\uff1a"

jLabel9.setBounds(98,202,114,31);

jLabel9.setFont(newjava.awt.Font("

jPasswordField3=newJPasswordField();

jPanel3.add(jPasswordField3);

jPasswordField3.setBounds(232,94,93,31);

jPasswordField4=newJPasswordField();

jPanel3.add(jPasswordField4);

jPasswordField4.setBounds(232,148,93,31);

jPasswordField5=newJPasswordField();

jPanel3.add(jPasswordField5);

jPasswordField5.setBounds(232,202,93,31);

utton3=newutton();

jPanel3.add(utton3);

utton3.setText("

\u786e\u8ba4"

utton3.setBounds(373,203,85,31);

utton3.setFont(newjava.awt.Font("

jTextField5=newJTextField();

jPanel3.add(jTextField5);

jTextField5.setBounds(232,42,10,22);

jTextField5.setFont(newjava.awt.Font("

jTextField5.setSize(93,31);

jLabel10=newJLabel();

jPanel3.add(jLabel10);

jLabel10.setText("

jLabel10.setBounds(98,42,36,15);

jLabel10.setFont(newjava.awt.Font("

jLabel10.setSize(93,31);

}

pack();

this.setSize(571,395);

}catch(Exceptione){

e.printStackTrace();

}

utton1.addMouseListener(newMouseAdapter(){

publicvoidmouseClicked(MouseEvente){

intvisible=0;

try{

jdbcodbcdb=newjdbcodbc();

db.CheckInfo("

select*fromUser_Info"

while(db.GetRS().next()){

if(db.GetRS().getString("

ID"

).trim().equals(

jTextField1.getText())){

if(db.GetRS().getString("

PassWord"

newString(jPasswordField1.getPassword()))){

JFrame.setDefaultLookAndFeelDecorated(true);

ChatRoomchatroom=newChatRoom();

chatroom.setLocationRelativeTo(null);

chatroom.setVisible(true);

visible=1;

//窗体可见,说明用户信息正确

}

}

if(visible==0){

JOptionPane.showMessageDialog(null,"

用户信息错误"

"

警告"

JOptionPane.ERROR_MESSAGE);

jTextField1.setText("

"

jPasswordField1.setText("

jTextField1.requestFocus();

}catch(SQLExceptionsqe){

});

utton2.addMouseListener(newMouseAdapter(){

StringID=jTextField2.getText().trim();

StringPassWord=newString(jPasswordField2.getPassword());

StringUser_Name=jTextField3.getText().trim();

StringUser_Sex=jTextField4.getText().trim();

Stringsql="

insertintoUser_Infovalues('

+ID+"

'

'

+PassWord+"

+User_Name+"

+User_Sex

+"

)"

;

jdbcodbcdb1=newjdbcodbc();

jdbcodbcdb2=newjdbcodbc();

db1.CheckInfo("

if(jTextField2.getText().length()==0){

请输入用户名!

jTextField2.requestFocus();

return;

if(jTextField3.getText().length()==0){

请输入!

jTextField3.requestFocus();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2