资源简介

这是本人写的第一个小项目,大约有3000行代码,用于局域网聊天,界面类似于QQ(当然,没QQ好看),可以删除添加好友,可私聊,群聊,广播。附件为源代码和数据库

资源截图

代码片段和文件信息

package KESHE;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;

public class ChatClient extends frame{
private Socket socket = null;
private DataOutputStream dout = null;
private DataInputStream din = null;
int x=0;
public DataOutputStream getDout() {
return dout;
}
public void setDout(DataOutputStream dout) {
this.dout = dout;
}
public DataInputStream getDin() {
return din;
}
public void setDin(DataInputStream din) {
this.din = din;
}
private static  ChatClient chatclient = null;
public static void main(String args[]){
chatclient = new ChatClient();
chatclient.StartsLogin();

}
public void StartsLogin(){ //打开登陆窗口
LoginWindow loginwindow = new LoginWindow(chatclient);
loginwindow.setVisible(true);
Thread login = new Thread(loginwindow);
login.start();
}
public void connect(String ipint port){

try{
if(socket==null){
socket = new Socket(ipport); //建立连接
}
if(dout == null){
 dout = new DataOutputStream(socket.getOutputStream()); //获取并包装输入输出流
}
if(din == null){
 din = new DataInputStream(socket.getInputStream());
}
}
catch(IOException e){
System.out.println (“未找到服务器“);
}
}
 void sends(String buf){ //发送数据
 try{
 if(dout!=null){
 dout.writeUTF(buf);
 dout.flush();
 }
 }
 catch(IOException e){
  e.printStackTrace();
  System.out.println (“客户端 sends失败“);
 }
}
String reads(){ //读取数据
 try{
 if(din!=null){
 return din.readUTF();
 }
 }
 catch(IOException e){
  e.printStackTrace();
  System.out.println (“客户端  reads失败“);
  return null;
 }
return n

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        375  2016-01-04 10:07  GCNIIT\.classpath

     文件        382  2016-01-04 09:57  GCNIIT\.project

     文件        210  2016-01-05 11:37  GCNIIT\.settings\.svn\all-wcprops

     文件        346  2016-01-05 11:37  GCNIIT\.settings\.svn\entries

     文件        598  2016-01-05 11:37  GCNIIT\.settings\.svn\text-base\org.eclipse.jdt.core.prefs.svn-base

     文件        598  2016-01-04 09:57  GCNIIT\.settings\org.eclipse.jdt.core.prefs

     文件        384  2016-01-05 11:37  GCNIIT\.svn\all-wcprops

     文件        714  2016-01-05 11:37  GCNIIT\.svn\entries

     文件         53  2016-01-05 11:37  GCNIIT\.svn\prop-base\mysql-connector-java-5.1.26-bin.jar.svn-base

     文件        375  2016-01-05 11:37  GCNIIT\.svn\text-base\.classpath.svn-base

     文件        382  2016-01-05 11:37  GCNIIT\.svn\text-base\.project.svn-base

     文件     855948  2016-01-05 11:37  GCNIIT\.svn\text-base\mysql-connector-java-5.1.26-bin.jar.svn-base

     文件       1361  2016-01-06 09:29  GCNIIT\bin\KESHE\ChatClient$Login.class

     文件       3562  2016-01-06 09:29  GCNIIT\bin\KESHE\ChatClient.class

     文件       1795  2016-01-06 09:14  GCNIIT\bin\KESHE\ChatServer.class

     文件       1149  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$1.class

     文件       3171  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$10.class

     文件        800  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$11.class

     文件       1625  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$12.class

     文件       1649  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$13.class

     文件       1404  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$14.class

     文件        889  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$2.class

     文件        889  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$3.class

     文件        889  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$4.class

     文件        720  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$5.class

     文件        737  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$6.class

     文件        721  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$7.class

     文件        782  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$8.class

     文件        776  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$9.class

     文件       2145  2016-01-06 09:48  GCNIIT\bin\KESHE\ChatWindow$EnterListener.class

............此处省略735个文件信息

评论

共有 条评论