欢迎来到天天文库
浏览记录
ID:9173262
大小:86.00 KB
页数:17页
时间:2018-04-20
《java实训报告--聊天室》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《Java实训》设计报告《Java实训》设计报告电子信息工程学院专业:软件技术班级:1班《Java实训》设计报告实训:聊天室项目简介项目名称聊天室项目功能运用java程序编写聊天室,实现简单的聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包以及java.util包等。程序实现了聊天室的基本功能,其中有:1、启动服务器。2、进入客户端界面。3、登录聊天室。4、发送信息(实现按回车键发送消息)。5、关闭服务器项目目的1.能在程序中熟练应用Java多线程技术2.熟悉JavaC/S程序的结构和工作原理3.能开发客户端应用程序4.会
2、编写服务器端多线程应用程序。5.熟悉Java数据库连接方法,能在程序中读写数据库主要技术Java编程语言、javaSwing组件《Java实训》设计报告开发环境jdk1.6.0_10项目特点使用组件构建的C/S应用程序各项功能的组织合理搭配应用图标控制功能实现技术重点构建基于C/S架构的应用程序Swing组件应用事件监听的应用方法的编写技术难点Swing组件的应用事件监听器的使用异常处理方法简便的选择系统总体设计1、设计思路聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即
3、可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。1.首先通过继承JFrame类构造服务器界面。2.设计客户端程序使其能够完成正常的通信功能。3.设计监听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。2、各个模块详细的功能描述。1、服务器端功能描述:启动服务器端。2、客户端功能描述:《Java实训》设
4、计报告启动客户端;显示登录昵称:显示聊天记录:发送信息;退出聊天室。系统详细设计1、界面设计主要由类ChatRoom来实现,界面实际总体如下:输入昵称的文本框,输入IP地址的文本框以及输入端口的文本框;连接的按钮;退出按钮;接受消息的文本域;发送消息文本框;发送按钮。项目设计在设计聊天室时,编写3个Java源文件:Client.java、Frame1.java、ServerThread.java;分别放在两个包中,一个是client,放Client.java、Frame1.java;一个是server,放ServerThread.java;聊天室除了上述Java源文件所给出的类外,还需要Ja
5、va系统提供的一些重要类,如JButton,JTextField等。下面是Java源文件的总体设计。Client(主类)客户端Client类负责创建聊天室客户端的主窗口,该类含有main方法,计算器从该类开始执行。ServerThread(主类)服务器ServerThread类负责创建聊天室服务器的主窗口,该类含有main方法,计算器从该类开始执行。二详细代码设计聊天室程序设计详细代码如下:客户端代码:packageclient;importjavax.swing.UIManager;publicclassClient{publicClient(){Frame1frame=newFrame1
6、();frame.setVisible(true);frame.validate();}publicstaticvoidmain(String[]args){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());《Java实训》设计报告}catch(Exceptione){e.printStackTrace();}newClient();}}packageclient;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importja
7、va.net.*;importjava.io.*;publicclassFrame1extendsJFrameimplementsRunnable{privateJPanelcontentPane;privateTextAreatextArea1=newTextArea();privateLabellabel1=newLabel();privateJTextFieldtextField1=newJTextFi
此文档下载收益归作者所有