java课程设计,局域网聊天系统

java课程设计,局域网聊天系统

ID:18890532

大小:334.00 KB

页数:20页

时间:2018-09-26

java课程设计,局域网聊天系统_第1页
java课程设计,局域网聊天系统_第2页
java课程设计,局域网聊天系统_第3页
java课程设计,局域网聊天系统_第4页
java课程设计,局域网聊天系统_第5页
资源描述:

《java课程设计,局域网聊天系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java课程设计局域网聊天系统东华理工大学理学院专业:信息与计算科学姓名:邓能财学号:20112032012320目录201.系统概述1.1系统目标序号目标内容1能够应用此程序通过局域网进行文字通信1.2开发环境与工具序号类别具体需求备注1硬件普通计算机2软件JDK、Eclipse、EditPlus、Office2.需求分析a)客户端能够通过局域网连接到指定的服务器;b)客户端与服务器之间能够进行文字通信;c)具有保存与查看聊天记录的功能;d)能够设置用户名;203结构设计与实现3.1程序结构流程图说明:a)只考虑一个客户端与服务器之间的通信,因此流程图的结构几乎对

2、称。b)其中,消息数据单元用字符串存储。由于数据的单元是不定个数的(随时可能增加),因此考虑用链表实现储存与操作。c)考虑到对方消息需要恒定的被监视,并且用户的操作动作事件与接收消息动作事件可能在时间上产生矛盾,因此监视消息与接收消息等过程使用新的线程(线程2)完成。203.2JAVA类3.2.1类的UML图服务器端主类客户端主类主界面抽象类服务器端主界面类客户端主界面类20服务器端设置类客户端设置类聊天记录类文件类文件发送类3.2.2类与类的关系203.3界面设计3.3.1主界面设计程序的主界面如下图。服务器端的主界面与客户端的相同。界面的布局方式为盒式布局。具体

3、的组件排布方式如右图,其中,大部分基本组件(如JButton、JTextArea等)都是先放置在JPanel面板上,再放置在行盒式容器或列盒式容器上的。图中还省略了垂直支撑、水平支撑等组件的说明。3.3.2子界面设计程序的子界面如下图。子界面的布局方式也几乎都为盒式布局。服务器端设置界面客户端设置界面20聊天历史记录见面发送文件界面选择文件界面204.系统实施4.1Java程序代码MainFrame.javaimportjavax.swing.*;importjavax.swing.border.Border;importjavax.swing.border.Mat

4、teBorder;importjava.awt.*;importjava.awt.List;importjava.io.*;importjava.net.*;importjava.awt.*;importjava.awt.event.*;importjava.text.DateFormat;importjava.util.*;importjavax.swing.border.EmptyBorder;importjavax.swing.JButton;importjavax.swing.border.EtchedBorder;publicabstractclassMa

5、inFrameextendsJFrameimplementsActionListener{StringUserName;//JTextFieldchatRecords;//定义聊天记录文本框JTextAreachatRecords;//定义聊天记录文本区JTextAreaTextEdit;//定义聊天文本编辑区//定义按钮:发送消息、发送文件、接收文件:JButtonSendMassage,SendFile,ReceiveFile,Setting,chatRecordsHistory;LinkedListrecordsList;//定义聊天记录储存链表MainFra

6、me(){}//空构造器MainFrame(Strings)//构造器{super(s);//设置窗口名称System.out.println("MainFrame的构造函数"+"MainFrame(Strings)开始:");//////////////////////////////////////窗口的基本性质intwidthText=28,editHeight=7,ricordsHeight=19;intbounds1=20,bounds2=20,bounds3=350,bounds4=600;setDefaultCloseOperation(JFrame.

7、EXIT_ON_CLOSE);//关闭按钮有效setBounds(bounds1,bounds2,bounds3,bounds4);//设置窗口大小位置setVisible(true);//设置窗口为可见//////////////////////////////////////窗体的结构与布局Containercont=this.getContentPane();//定义一个容器BoxvBox=Box.createVerticalBox();//建立一个垂直框JPanelchatRecordsPanel=newJPanel();chatRecords=newJ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。