資源簡介
這是本人寫的第一個小項目,大約有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-ba
?????文件????????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-ba
?????文件????????375??2016-01-05?11:37??GCNIIT\.svn\text-ba
?????文件????????382??2016-01-05?11:37??GCNIIT\.svn\text-ba
?????文件?????855948??2016-01-05?11:37??GCNIIT\.svn\text-ba
?????文件???????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個文件信息
評論
共有 條評論