JAVA实训报告聊天室

上传人:人*** 文档编号:421713555 上传时间:2023-01-31 格式:DOC 页数:17 大小:127KB
返回 下载 相关 举报
JAVA实训报告聊天室_第1页
第1页 / 共17页
JAVA实训报告聊天室_第2页
第2页 / 共17页
JAVA实训报告聊天室_第3页
第3页 / 共17页
JAVA实训报告聊天室_第4页
第4页 / 共17页
JAVA实训报告聊天室_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《JAVA实训报告聊天室》由会员分享,可在线阅读,更多相关《JAVA实训报告聊天室(17页珍藏版)》请在金锄头文库上搜索。

1、Java实训设计报告Java实训设计报告电子信息工程学院专业:软件技术班级:1班 实训:聊天室项目简介项目名称聊天室项目功能运用java程序编写聊天室,实现简单的聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包以及java.util包等。程序实现了聊天室的基本功能,其中有:1、启动服务器。2、进入客户端界面。3、登录聊天室。4、发送信息(实现按回车键发送消息)。5、关闭服务器项目目的1.能在程序中熟练应用Java 多线程技术2.熟悉Java C/S 程序的结构和工作原理3.能开发客户端应用程序4.会编写服务器端多线程应用程序

2、。5.熟悉Java 数据库连接方法,能在程序中读写数据库主要技术Java编程语言、javaSwing组件开发环境jdk1.6.0_10项目特点使用组件构建的C/S应用程序各项功能的组织合理搭配应用图标控制功能实现技术重点构建基于C/S架构的应用程序Swing组件应用事件监听的应用方法的编写技术难点Swing组件的应用事件监听器的使用异常处理方法简便的选择系统总体设计1、设计思路聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下

3、几个设计要点:在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。1首先通过继承JFrame类构造服务器界面。2设计客户端程序使其能够完成正常的通信功能。3设计监听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。2、各个模块详细的功能描述。1、服务器端功能描述:启动服务器端。2、客户端功能描述: 启动客户端;显示登录昵称:显示聊天记录:发送信息;退出聊天室。系统详细设计

4、1、界面设计主要由类ChatRoom来实现,界面实际总体如下:输入昵称的文本框,输入IP地址的文本框以及输入端口的文本框;连接的按钮;退出按钮;接受消息的文本域;发送消息文本框;发送按钮。项目设计在设计聊天室时,编写3个Java源文件:Client.java、Frame1.java、ServerThread.java;分别放在两个包中,一个是client,放Client.java、Frame1.java;一个是server,放ServerThread.java;聊天室除了上述Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。下面是Java

5、源文件的总体设计。Client(主类)客户端Client类负责创建聊天室客户端的主窗口,该类含有main方法,计算器从该类开始执行。ServerThread(主类)服务器 ServerThread类负责创建聊天室服务器的主窗口,该类含有main方法,计算器从该类开始执行。二详细代码设计聊天室程序设计详细代码如下:客户端代码:package client;import javax.swing.UIManager;public class Client public Client() Frame1 frame=new Frame1(); frame.setVisible(true); frame.

6、validate(); public static void main(String args) try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch(Exception e) e.printStackTrace(); new Client(); package client;import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import java.io.*;public class Frame1

7、extends JFrame implements Runnable private JPanel contentPane; private TextArea textArea1=new TextArea(); private Label label1=new Label(); private JTextField textField1=new JTextField(); private JButton button1=new JButton(); private JButton button2=new JButton(); private JButton button3=new JButto

8、n(); Socket socket=null; BufferedReader in=null; PrintWriter out=null; JTextField server=new JTextField(); JLabel jLabel1=new JLabel(); JLabel jLabel2=new JLabel(); JTextField port=new JTextField(); JScrollPane jScrollPane1=new JScrollPane(); JList jList1=new JList(); JLabel jLabel3=new JLabel(); De

9、faultListModel l1=new DefaultListModel(); public Frame1() try init(); catch(Exception e) e.printStackTrace(); private void init() throws Exception server.setText(InetAddress.getLocalHost().getHostAddress(); server.setBounds(new Rectangle(69,252,74,22); contentPane=(JPanel)this.getContentPane(); text

10、Area1.setEditable(false); textArea1.setFont(new java.awt.Font(Dialog,Font.PLAIN,14); textArea1.setBounds(new Rectangle(11,9,383,199); textArea1.setBackground(new Color(66,00,233); textArea1.setForeground(new Color(255,00,00); contentPane.setLayout(null); this.setSize(new Dimension(506,314); this.set

11、Title(客户端); label1.setFont(new java.awt.Font(Dialog,Font.PLAIN,12); label1.setForeground(new Color(110,110,250); label1.setText(消息:); label1.setBounds(new Rectangle(26,213,32,27); button1.setActionCommand(发送); button1.setBounds(new Rectangle(334,216,62,23); button1.setEnabled(false); button1.setFont

12、(new java.awt.Font(Dialog,Font.PLAIN,12); button1.setText(发送); button1.setForeground(new Color(110,110,250); button1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) button1_actionPerformed(e); ); button2.setBounds(new Rectangle(266,251,58,24); button2

13、.setFont(new java.awt.Font(Dialog,Font.PLAIN,12); button2.setText(连接); button2.setForeground(new Color(110,110,250); button2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) button2_actionPerformed(e); ); button3.setBounds(new Rectangle(333,251,62,22); button3.setFont(new java.awt.Font(Dialog,Font.PLAIN,12); button3.setText(退出); button3.setForeground(new Color(110,110,250); button3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号