Java聊天室系统程序设计实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java聊天室系统程序设计

实验报告

题目:******

院(系):******

年级专业:******

学生姓名:******

指导老师:******

开始时间:******

完成时间:******

第一部分:课程设计总述

课程设计目的:

1.学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java

程序开发的全过程。

2.进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、

Java多线程编程、Applet程序的设计、文件和网络输入输出流编程、Java

数据库编程等。

3.通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。

课程设计总体要求:

1.问题的描述与程序将要实现的具体功能。

2.程序功能实现的具体设计思路或框架,并检查流程设计。

3.代码实现。

4.程序测试(如程序代码、功能测试、可靠性测试和效率测试等)。

5.设计小结(包括)

课程设计题目:

目标

本软件是一个实用聊天程序。项目要实现以下目标:

1)允许用户注册;

2)允许注册用户登录聊天室;

3)登录用户之间进行聊天文件传输;

4)用户可以更改背景音乐;

用户信息的保存

本软件只是一个聊天室程序,所以用户只要打开程序就可以登录。本软件使用文本文件或者数据库来保存用户数据。

需求分析

对功能的规定

1.系统的用例图(对注册用户)

2.用户注册过程

3.用户登录过程

对性能的规定

由于本软件只是一个聊天室程序,程序只是提供用户之间的聊天和文件传输,故对网络传输数据要求不是很高,只要正常的传输速度就可以了。

需要管理的数据

用户的信息如下:用户名,密码,头像,电子邮件,地址。

4 开发环境

本软件采用Java语言编写,Java语言是一种跨平台的编程语言,所以本软件对操作系统没有特别的要求。而网络传输方面采用TCP/IP网络传输协议或者是RMI。

总体设计思路

系统主要包含两个java文件,Server.java和UserLogin.java

图形界面主要通过\\org\netbeans\lib\awtextra目录下的两个类:AbsoluteConstraints.class和AbsoluteLayout.class来控制。

启动系统通过依次点击批处理文件:1.bat,2.bat

Server.java中包含:

其中Server类又包括如下类和方法:

UserLogin.java包括:

其中UserLogin类又包括如下类和方法:

而UserLoginWindow类又包含如下事件和方法:

系统为C/S模式。首先根据功能模块将系统分为两部分:服务端(Server)和客户端(UserLogin)。然后构造可以序列化的User类,这是本系统的对象。根据需求功能细分类和方法。建立文件和网络的传输通信。实现聊天室的基本功能

具体设计

代码:

//server.java

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import .*;

import java.io.*;

import java.util.*;

//用户信息

class User implements Serializable

{

String UserName;

String UserPassword;

String UserHeadPhoto;

String UserEmail;

String UserAge;

String SinkName;

String FileName;

byte FileData[];

String Message;

String Command;

Vector vectorUserList;

}

public class Server extends JFrame

{

static Vector vectorStreamToUser=new Vector(1,1);

static Vector vectorUserList=new Vector(1,1);

private ServerSocket serverSocket;

private JMenuItem aboutMenuItem;

private JMenu commandMenu;

private JMenu fileMenu;

private JMenu helpMenu;

private JMenuItem helpMenuItem;

private JLabel jLabel1;

private JLabel jLabel2;

private JLabel jLabel3;

private JLabel jLabel4;

private JLabel jLabel5;

private JList jList1;

private JPanel jPanel1;

private JScrollPane jScrollPane1;

private JMenuItem warnMenuItem;

private JMenuItem kickMenuItem;

private JMenuBar menuBar;

private JMenuItem msgMenuItem;

private JMenuItem startMenuItem;

private JMenuItem stopMenuItem;

//右键事件菜单

private static JPopupMenu menu;

private String BlackList;

相关文档
最新文档