JAVA实训评测报告聊天室Word文件下载.docx

上传人:b****5 文档编号:16139662 上传时间:2022-11-20 格式:DOCX 页数:16 大小:54.59KB
下载 相关 举报
JAVA实训评测报告聊天室Word文件下载.docx_第1页
第1页 / 共16页
JAVA实训评测报告聊天室Word文件下载.docx_第2页
第2页 / 共16页
JAVA实训评测报告聊天室Word文件下载.docx_第3页
第3页 / 共16页
JAVA实训评测报告聊天室Word文件下载.docx_第4页
第4页 / 共16页
JAVA实训评测报告聊天室Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

JAVA实训评测报告聊天室Word文件下载.docx

《JAVA实训评测报告聊天室Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA实训评测报告聊天室Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

JAVA实训评测报告聊天室Word文件下载.docx

实现按回车键发送消息)。

5、关闭服务器

项目目的

1.能在程序中熟练应用Java多线程技术

2.熟悉JavaC/S程序的结构和工作原理

3.能开发客户端应用程序

4.会编写服务器端多线程应用程序。

5.熟悉Java数据库连接方法,

能在程序中读写数据库

主要技术

Java编程语言、javaSwing组件

开发环境

jdk1.6.0_10

使用组件构建的C/S应用程序

各项功能的组织合理搭配应用

图标控制功能实现

构建基于C/S架构的应用程序

Swing组件应用

事件监听的应用

方法的编写

Swing组件的应用

事件监听器的使用

异常处理

方法简便的选择

系统总体设计

1、设计思路

聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。

因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:

在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。

因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。

1.首先通过继承JFrame类构造服务器界面。

2.设计客户端程序使其能够完成正常的通信功能。

3.设计监听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。

2、各个模块详细的功能描述。

1、服务器端功能描述:

启动服务器端。

2、客户端功能描述:

启动客户端;

显示登录昵称:

显示聊天记录:

发送信息;

退出聊天室。

系统详细设计

1、界面设计

主要由类ChatRoom来实现,界面实际总体如下:

输入昵称的文本框,输入IP地址的文本框以及输入端口的文本框;

连接的按钮;

退出按钮;

接受消息的文本域;

发送消息文本框;

发送按钮。

项目设计

在设计聊天室时,编写3个Java源文件:

Client.java、Frame1.java、ServerThread.java;

分别放在两个包中,一个是client,放Client.java、Frame1.java;

一个是server,放ServerThread.java;

聊天室除了上述Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField等。

下面是Java源文件的总体设计。

Client<

主类)客户端

Client类负责创建聊天室客户端的主窗口,该类含有main方法,计算器从该类开始执行。

ServerThread<

主类)服务器

ServerThread类负责创建聊天室服务器的主窗口,该类含有main方法,计算器从该类开始执行。

二详细代码设计

聊天室程序设计详细代码如下:

客户端代码:

packageclient。

importjavax.swing.UIManager。

publicclassClient{

publicClient(>

{

Frame1frame=newFrame1(>

frame.setVisible(true>

frame.validate(>

}

publicstaticvoidmain(String[]args>

try{

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(>

>

}catch(Exceptione>

e.printStackTrace(>

}

newClient(>

}

importjava.awt.*。

importjava.awt.event.*。

importjavax.swing.*。

import.*。

importjava.io.*。

publicclassFrame1extendsJFrameimplementsRunnable{

privateJPanelcontentPane。

privateTextAreatextArea1=newTextArea(>

privateLabellabel1=newLabel(>

privateJTextFieldtextField1=newJTextField(>

privateJButtonbutton1=newJButton(>

privateJButtonbutton2=newJButton(>

privateJButtonbutton3=newJButton(>

Socketsocket=null。

BufferedReaderin=null。

PrintWriterout=null。

JTextFieldserver=newJTextField(>

JLabeljLabel1=newJLabel(>

JLabeljLabel2=newJLabel(>

JTextFieldport=newJTextField(>

JScrollPanejScrollPane1=newJScrollPane(>

JListjList1=newJList(>

JLabeljLabel3=newJLabel(>

DefaultListModell1=newDefaultListModel(>

publicFrame1(>

try{

init(>

privatevoidinit(>

throwsException{

server.setText(InetAddress.getLocalHost(>

.getHostAddress(>

server.setBounds(newRectangle(69,252,74,22>

contentPane=(JPanel>

this.getContentPane(>

textArea1.setEditable(false>

textArea1.setFont(newjava.awt.Font("

Dialog"

Font.PLAIN,14>

textArea1.setBounds(newRectangle(11,9,383,199>

textArea1.setBackground(newColor(66,00,233>

textArea1.setForeground(newColor(255,00,00>

contentPane.setLayout(null>

this.setSize(newDimension(506,314>

this.setTitle("

客户端"

label1.setFont(newjava.awt.Font("

Font.PLAIN,12>

label1.setForeground(newColor(110,110,250>

label1.setText("

消息:

"

label1.setBounds(newRectangle(26,213,32,27>

button1.setActionCommand("

发送"

button1.setBounds(newRectangle(334,216,62,23>

button1.setEnabled(false>

button1.setFont(newjava.awt.Font("

button1.setText("

button1.setForeground(newColor(110,110,250>

button1.addActionListener(newjava.awt.event.ActionListener(>

publicvoidactionPerformed(ActionEvente>

button1_actionPerformed(e>

}

}>

button2.setBounds(newRectangle(266,251,58,24>

button2.setFont(newjava.awt.Font("

button2.setText("

连接"

button2.setForeground(newColor(110,110,250>

button2.addActionListener(newjava.awt.event.ActionListener(>

button2_actionPerformed(e>

}>

button3.setBounds(newRectangle(333,251,62,22>

button3.setFont(newjava.awt.Font("

button3.setText("

退出"

button3.setForeground(newColor(110,110,250>

button3.addActionListener(newjava.awt.event.ActionListener(>

button3_actionPerformed(e>

jLabel1.setFont(newjava.awt.Font("

jLabel1.setToolTipText("

jLabel1.setHorizontalAlignment(SwingConstants.RIGHT>

jLabel1.setHorizontalTextPosition(SwingConstants.RIGHT>

jLabel1.setText("

服务器:

jLabel1.setForeground(newColor(110,110,250>

jLab

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1