JAVA聊天程序设计代码及报告[借鉴]

上传人:x****育 文档编号:147457747 上传时间:2020-10-10 格式:DOC 页数:11 大小:841.67KB
返回 下载 相关 举报
JAVA聊天程序设计代码及报告[借鉴]_第1页
第1页 / 共11页
JAVA聊天程序设计代码及报告[借鉴]_第2页
第2页 / 共11页
JAVA聊天程序设计代码及报告[借鉴]_第3页
第3页 / 共11页
JAVA聊天程序设计代码及报告[借鉴]_第4页
第4页 / 共11页
JAVA聊天程序设计代码及报告[借鉴]_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《JAVA聊天程序设计代码及报告[借鉴]》由会员分享,可在线阅读,更多相关《JAVA聊天程序设计代码及报告[借鉴](11页珍藏版)》请在金锄头文库上搜索。

1、Compilation of reports报 告 汇 编20XX报告文档借鉴学习一系统需求分析网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。在当今信息时代,越来越多的聊天工具被应用,java语言是当今流行的网络编程语言,它具有面向对象,与平台无关,安全,多线程等特点。使用java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备进行应用程序的开发。面向对象的开发是当今世界最流行的开发方法,它不仅具有更贴近自然地语义,而且有利于软件的维护和继承,锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力。本程序正

2、是用java语言实现了简单聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包等。二系统总体设计1.对性能的规定由于本软件知识一个聊天程序,程序只提供用户之间的聊天功能,故对网络传输数据要求不是很高,只要正常的传输速度就可以了。2数据管理IP地址(IP),端口(Port)3.开发环境本软件采用Java语言编写,Java语言是一种跨平台的编程语言,所以本软件对操作系统没有特别的要求。而网络传输方面采用TCP/IP网络传输协议或者是RMI。4.设计概要(1)本软件客户端与用户共用一段程序。客户端编译运行后,在窗口选择-侦听。用户编译

3、运行后,在窗口选择-连接。(2)本软件实现的功能有1)允许服务器侦听客户端,客户端连接到服务器2)允许服务区与客户端之间进行聊天;3)允许服务器与客户端更改背景颜色;4) 允许服务器与客户端更改字体颜色;5)服务器与客户端时,会显示内容发送时间;6)允许服务器与客户端用鼠标点击“发送”,按ENTER键均可发送内容7)允许服务器与客户端用鼠标点击关闭时关闭聊天窗口三系统详细设计1.代码功能描述(1)程序中引入的包:import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import java.io.*;(2

4、)代码中自定义的类:类名: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 s

5、kt;构造方法:public chatHouse()主要成员方法:public void run() public void actionPerformed(ActionEvent e) public void doServer() public void doSend()2.源代码chatHouse.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;import java.io.*;import java.util.*;public class chatHouse extends JFra

6、me implements ActionListener, Runnableprivate 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;

7、private JLabel pic; private Socket skt;public void run()tryBufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream();while(true)String s = br.readLine(); / 从网络读if(s=null) break;ta.append(s + n);catch(Exception e)e.printStackTrace();public void actionPerformed(ActionEvent e)if

8、(e.getSource()=btn_server)doServer();if(e.getSource()=btn_client)doClient();if(e.getSource()=btn_send)doSend();public void doServer()tryServerSocket server = new ServerSocket(Integer.parseInt(port.getText();skt = server.accept();ta.append(连接成功!n);new Thread(this).start();catch(Exception e)ta.append(

9、服务器启动失败!n);public void doClient()tryskt = new Socket(ip.getText(), Integer.parseInt(port.getText();ta.append(连接成功!n);new Thread(this).start();catch(Exception e)ta.append(连接失败!n);public void doSend()Calendar c=Calendar.getInstance();int y=c.get(c.YEAR);int M=c.get(c.MONTH)+1;int d=c.get(c.DAY_OF_MONT

10、H);int h=c.get(c.HOUR_OF_DAY);int mm=c.get(c.MINUTE);int ss=c.get(c.SECOND);tryPrintWriter pw = new PrintWriter(skt.getOutputStream();String s = send_text.getText();if(s=null) return;ta.append(y+-+M+-+d+ +h+:+mm+:+ss+n);ta.append(s+n);pw.println(y+-+M+-+d+ +h+:+mm+:+ss);pw.println(s);pw.flush();send

11、_text.setText();catch(Exception e)ta.append(发送失败!n);public chatHouse()super(聊天室);this.setBounds(100,100,550,430);Container cc = this.getContentPane();JPanel p1 = new JPanel();cc.add(p1, BorderLayout.NORTH);JPanel p2 = new JPanel();cc.add(p2,BorderLayout.CENTER);JPanel p3 = new JPanel();cc.add(p3,Bor

12、derLayout.SOUTH);pic=new JLabel(new ImageIcon(12.gif);cc.add(pic,BorderLayout.EAST);p1.add(new JLabel(IP: );ip = new JTextField(127.0.0.1, 10);p1.add(ip);p1.add(new JLabel(Port: );port = new JTextField(7777, 4);p1.add(port);btn_server = new JButton(侦听);p1.add(btn_server);btn_client = new JButton(连接)

13、;p1.add(btn_client);btn_backGroundCol =new JButton(背景色);p1.add(btn_backGroundCol);btn_fontCol =new JButton(字体颜色);p1.add(btn_fontCol);p2.setLayout(new BorderLayout()ta = new TextArea();p2.add(ta, BorderLayout.CENTER);send_text = new JTextField(Hello.);p2.add(send_text, BorderLayout.SOUTH);btn_send = new JButton(发送);p3.add(btn_send, BorderLayout.WEST);btn_close =new JButton(关闭);p3.add(btn_close, BorderLayout.CENTER);/-

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

当前位置:首页 > 办公文档 > 调研报告

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