在线聊天系统雏形java.docx
- 文档编号:7862727
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:62
- 大小:25.55KB
在线聊天系统雏形java.docx
《在线聊天系统雏形java.docx》由会员分享,可在线阅读,更多相关《在线聊天系统雏形java.docx(62页珍藏版)》请在冰豆网上搜索。
在线聊天系统雏形java
JAVA版在线系统聊天雏形
1.Chat.0.1版本:
画出一个聊天系统窗口
ChatClient.java:
importjava.awt.*;
publicclassChatClientextendsFrame{
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
publicvoidlaunchFrame(){
setLocation(100,200);
setSize(300,300);
setVisible(true);
}
}
2.Chat0.2版本:
添加两个控件在0.1的版本之上
ChatClient.java:
importjava.awt.*;
publicclassChatClientextendsFrame{
TextFieldtf=newTextField();
TextAreata=newTextArea();
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
publicvoidlaunchFrame(){
setLocation(100,200);
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
setVisible(true);
}
}
3.Chat0.3版本:
在0.2版本之上添加关闭窗口的事件
ChatClient.java:
importjava.awt.*;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
publicclassChatClientextendsFrame{
TextFieldtf=newTextField();
TextAreata=newTextArea();
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
publicvoidlaunchFrame(){
setLocation(100,200);
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
setVisible(true);
}
}
4.Chat0.4版本:
实现信息的获取在0.3版本之上
ChatClient.java:
packagecom.eonline.chat;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
/**
*这个类主要是实现在线聊天的模式
*@authorAdministrator
*
*/
publicclassChatClientextendsFrame{
/**
*定义一个单行文本框
*/
TextFieldtf=newTextField();
/**
*定义一个多行的文本框
*/
TextAreata=newTextArea();
/**
*这个类的主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
/**
*此方法为显示这个在线聊天系统的主界面
*/
publicvoidlaunchFrame(){
/**
*此方法确定聊天界面的位置
*/
setLocation(100,200);
/**
*此方法确定聊天系统界面的大小
*/
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
/**
*添加匿名类,使得聊天窗口可以关闭
*/
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
tf.addActionListener(newTFListener());
/**
*此方法使得聊天窗口可见
*/
setVisible(true);
}
/**
*这个类主要是实现对话框的信息交流
*@authorAdministrator
*
*/
privateclassTFListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Strings=tf.getText();
ta.setText(s);
tf.setText("");
}
}
}
5.Chat0.5版本:
搭建ChatServer端
ChatClient.java:
packagecom.eonline.chat;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
/**
*这个类主要是实现在线聊天的模式
*@authorAdministrator
*
*/
publicclassChatClientextendsFrame{
/**
*定义一个单行文本框
*/
TextFieldtf=newTextField();
/**
*定义一个多行的文本框
*/
TextAreata=newTextArea();
/**
*这个类的主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
/**
*此方法为显示这个在线聊天系统的主界面
*/
publicvoidlaunchFrame(){
/**
*此方法确定聊天界面的位置
*/
setLocation(100,200);
/**
*此方法确定聊天系统界面的大小
*/
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
/**
*添加匿名类,使得聊天窗口可以关闭
*/
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
tf.addActionListener(newTFListener());
/**
*此方法使得聊天窗口可见
*/
setVisible(true);
}
/**
*这个类主要是实现对话框的信息交流
*@authorAdministrator
*
*/
privateclassTFListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Strings=tf.getText();
ta.setText(s);
tf.setText("");
}
}
}
ChatServer.java:
packagecom.eonline.chat;
importjava.io.IOException;
import.*;
/**
*这个类主要是ChatServer端,用于与ChatClient端进行信息交互。
*@authorAdministrator
*
*/
publicclassChatServer{
publicstaticvoidmain(String[]args){
try{
ServerSocketss=newServerSocket(8888);
while(true){
Sockets=ss.accept();
System.out.println("aclientconnected!
");
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
6.Chat0.6:
client端连接上server端
ChatClient.java:
packagecom.eonline.chat;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.IOException;
import.Socket;
import.UnknownHostException;
/**
*这个类主要是实现在线聊天的模式
*@authorAdministrator
*
*/
publicclassChatClientextendsFrame{
/**
*定义一个单行文本框
*/
TextFieldtf=newTextField();
/**
*定义一个多行的文本框
*/
TextAreata=newTextArea();
/**
*这个类的主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
/**
*此方法为显示这个在线聊天系统的主界面
*/
publicvoidlaunchFrame(){
/**
*此方法确定聊天界面的位置
*/
setLocation(100,200);
/**
*此方法确定聊天系统界面的大小
*/
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
/**
*添加匿名类,使得聊天窗口可以关闭
*/
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
tf.addActionListener(newTFListener());
/**
*此方法使得聊天窗口可见
*/
setVisible(true);
connect();
}
/**
*这个类主要是实现对话框的信息交流
*@authorAdministrator
*
*/
privateclassTFListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Strings=tf.getText();
ta.setText(s);
tf.setText("");
}
}
/**
*connect()方法用于链接上server端
*/
publicvoidconnect(){
try{
Sockets=newSocket("127.0.0.1",8888);
System.out.println("connected!
");
}catch(UnknownHostExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
ChatServer.java:
packagecom.eonline.chat;
importjava.io.IOException;
import.*;
/**
*这个类主要是ChatServer端,用于与ChatClient端进行信息交互。
*@authorAdministrator
*
*/
publicclassChatServer{
publicstaticvoidmain(String[]args){
try{
ServerSocketss=newServerSocket(8888);
while(true){
Sockets=ss.accept();
System.out.println("aclientconnected!
");
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
7.版本Chat0.7:
client端说一句话server端可以接收到client端所说的话
ChatClient.java:
packagecom.eonline.chat;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.IOException;
import.Socket;
import.UnknownHostException;
/**
*这个类主要是实现在线聊天的模式
*@authorAdministrator
*
*/
publicclassChatClientextendsFrame{
/**
*定义一个单行文本框
*/
TextFieldtf=newTextField();
/**
*定义一个多行的文本框
*/
TextAreata=newTextArea();
Sockets=null;
/**
*这个类的主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
newChatClient().launchFrame();
}
/**
*此方法为显示这个在线聊天系统的主界面
*/
publicvoidlaunchFrame(){
/**
*此方法确定聊天界面的位置
*/
setLocation(100,200);
/**
*此方法确定聊天系统界面的大小
*/
setSize(300,300);
add(tf,BorderLayout.SOUTH);
add(ta,BorderLayout.NORTH);
pack();
/**
*添加匿名类,使得聊天窗口可以关闭
*/
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
tf.addActionListener(newTFListener());
/**
*此方法使得聊天窗口可见
*/
setVisible(true);
connect();
}
/**
*这个类主要是实现对话框的信息交流
*@authorAdministrator
*
*/
privateclassTFListenerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
Stringstr=tf.getText().trim();
ta.setText(str);
tf.setText("");
DataOutputStreamdos;
try{
dos=newDataOutputStream(s.getOutputStream());
dos.writeUTF(str);
dos.flush();
dos.close();
}catch(IOExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
}
}
/**
*connect()方法用于链接上server端
*/
publicvoidconnect(){
try{
s=newSocket("127.0.0.1",8888);
System.out.println("connected!
");
}catch(UnknownHostExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
ChatServer.java:
packagecom.eonline.chat;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.IOException;
import.*;
/**
*这个类主要是ChatServer端,用于与ChatClient端进行信息交互。
*@authorAdministrator
*
*/
publicclassChatServer{
publicstaticvoidmain(String[]args){
try{
ServerSocketss=newServerSocket(8888);
while(true){
Sockets=ss.accept();
System.out.println("aclientconnected!
");
DataInputStreamdis=newDataInputStream(s.getInputStream());
Stringstr=dis.readUTF();
System.out.println(str);
dis.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
8.版本Chat0.8:
解决只能进行一次信息交互的问题
ChatClient.java:
packagecom.eonline.chat;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.DataInputStream;
im
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 聊天 系统 雏形 java