一.系统需求分析
网络聊天室通常直称聊天室;是一种人们可以在线交谈的网络论坛;在同一聊天室的人们通过广播消息进行实时交谈..
在当今信息时代;越来越多的聊天工具被应用;java语言是当今流行的网络编程语言;它具有面向对象;与平台无关;安全;多线程等特点..使用java语言不仅可以实现大型企业级的分布式应用系统;还能够为小型的的;嵌入式设备进行应用程序的开发..面向对象的开发是当今世界最流行的开发方法;它不仅具有更贴近自然地语义;而且有利于软件的维护和继承;锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力..
本程序正是用java语言实现了简单聊天功能..它是图形界面;线程;流与文件系统等技术的综合应用..其界面主要采用了java.awt包;java.swing包等..
二.系统总体设计
1.对性能的规定
由于本软件知识一个聊天程序;程序只提供用户之间的聊天功能;故对网络传输数据要求不是很高;只要正常的传输速度就可以了..
2数据管理
IP地址IP;端口Port
3.开发环境
本软件采用Java语言编写;Java语言是一种跨平台的编程语言;所以本软件对操作系统没有特别的要求..而网络传输方面采用TCP/IP网络传输协议或者是RMI..
4.设计概要
1本软件客户端与用户共用一段程序..客户端编译运行后;在窗口选择----侦听..用户编译运行后;在窗口选择----连接..
2本软件实现的功能有
1允许服务器侦听客户端;客户端连接到服务器
2允许服务区与客户端之间进行聊天;
3允许服务器与客户端更改背景颜;
4 允许服务器与客户端更改字体颜;
5服务器与客户端时;会显示内容发送时间;
6允许服务器与客户端用鼠标点击“发送”;按ENTER键均可发送内容
7允许服务器与客户端用鼠标点击关闭时关闭聊天窗口
三.系统详细设计
1.代码功能描述
1程序中引入的包:
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.;
import java.io.;
2代码中自定义的类:
类名:chatHouse
继承的类:JFrame
实现的接口:ActionListener; Runnable
作用:构造服务器界面以及客户端界面..
定义的对象: TextArea ta;
              JTextField ip;
              JTextField port;
              JButton btn_server;
              JButton btn_client;
              JButton btn_backGroundCol;
              JButton btn_fontCol;
              JTextField send_text;
              JButton btn_send;
              JButton btn_close;
              JLabel pic;
              Socket skt;
构造方法:public chatHouse
主要成员方法:public void run
              public void actionPerformedActionEvent e
                  public void doServer
                  public void doSend
2.源代码chatHouse.java
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.;
import java.io.;
import java.util.;
public class chatHouse extends JFrame implements ActionListener; Runnable
{
    private TextArea ta;
    private JTextField ip;
    private JTextField port;
    private JButton btn_server;
    private JButton btn_client;
    private JButton btn_backGroundCol;
    private JButton btn_fontCol;
    private JTextField send_text;
    private JButton btn_send;
    private JButton btn_close;
    private JLabel pic;
    private Socket skt;
    public void run
    {
    try{
        BufferedReader br = new InputStream;
        whiletrue{
            String s = br.readLine; // 从网络读
            ifs==null break;
            ta.appends + "\n";
        }
    }
    catchException e{
        e.printStackTrace;
    }       
    }
   
    public void actionPerformedActionEvent e
    {
        Source==btn_server{
            doServer;
目前流行的编程语言
        }
        Source==btn_client{
            doClient;
        }
        Source==btn_send{
            doSend;
        }
    }
   
    public void doServer
    {
    try{
        ServerSocket server = new Text;
        skt = server.accept;
        ta.append"连接成功\n";
        new Threadthis.start;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。