資源簡介
使用Java開發的簡易多人聊天室
應付作業開發的聊天室
功能:
群聊
私聊
動態更新用戶列表
bug:
沒有密碼
沒考慮兩個用戶使用相同用戶名的情況 等等,其他N多個bug

代碼片段和文件信息
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Toolkit;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.PrintWriter;
import?java.net.Socket;
import?java.util.ArrayList;
import?javax.swing.DefaultListModel;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JList;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JSplitPane;
import?javax.swing.JTabbedPane;
import?javax.swing.JTextArea;
import?javax.swing.JTextField;
import?javax.swing.border.titledBorder;
import?javax.swing.event.ChangeEvent;
import?javax.swing.event.ChangeListener;
import?javax.swing.event.ListSelectionEvent;
import?javax.swing.event.ListSelectionListener;
public?class?Client?{
private?Jframe?frame;
private?JList?userList;
private?JTextArea?textArea;
private?JTextField?textField;
private?JButton?btn_send;
private?JPanel?southPanel;
private?JScrollPane?rightScroll;
private?JScrollPane?leftScroll;
private?JSplitPane?centerSplit;
private?JTabbedPane?tabs;
private?JPanel?leftPanel;
private?DefaultListModel?listModel;
private?Socket?socket;
private?PrintWriter?writer;
private?BufferedReader?reader;
private?MessageThread?messageThread;//?負責接收消息的線程
private?String?name?=?“Null“;
private?ArrayList?contentList?=?new?ArrayList();
private?String?currentTabName?=?“Public“;
//?主方法程序入口
public?static?void?main(String[]?args)?{
if?(args.length?==?3)?{
String?ip?=?args[0];
int?port?=?Integer.parseInt(args[1]);
String?nickName?=?args[2];
new?Client(ip?port?nickName);
}?else?{
System.err.println(“啟動方式:java?-jar?client.jar?server_ip?server_port?nickname“);
}
}
//?執行發送
public?void?send()?{
String?message?=?textField.getText().trim();
if?(message?==?null?||?message.equals(““))?{
JOptionPane.showMessageDialog(frame?“消息不能為空!“?“錯誤“?JOptionPane.ERROR_MESSAGE);
return;
}
//?sendMessage(frame.gettitle()?+?“@“?+?“ALL“?+?“@“?+?message);
//?發送群聊消息
if?(currentTabName.equals(“Public“))?{
sendMessage(“Public@“?+?this.name?+?“@ALL@“?+?message);
}?else?{
sendMessage(“Private@“?+?name?+?“@“?+?currentTabName?+?“@“?+?message);
}
textField.setText(null);
}
/**
?*?構造方法
?*?
?*?@param?ip
?*????????????服務器ip
?*?@param?port
?*????????????端口
?*?@param?nickName
?*????????????昵稱
?*/
public?Client(String?ip?int?port?String?nickName)?{
//?創建組件
textArea?=?new?JTextArea();
textArea.setEditable(false);
textArea.setForeground(Color.blue);
textField?=?new?JTextField();
btn_send?=?new?JButton(“發送“);
listModel?=?new?DefaultListModel();
userList?=?new?JLis
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\
?????文件????????1057??2018-11-15?03:40??simple-chattingroom-master\LICENSE
?????文件?????????487??2018-11-15?03:40??simple-chattingroom-master\README.md
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\demo\
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\demo\本機客戶端\
?????文件???????10594??2018-11-15?03:40??simple-chattingroom-master\demo\本機客戶端\client.jar
?????文件??????????67??2018-11-15?03:40??simple-chattingroom-master\demo\本機客戶端\張三上線.bat
?????文件??????????63??2018-11-15?03:40??simple-chattingroom-master\demo\本機客戶端\李四上線.bat
?????文件??????????65??2018-11-15?03:40??simple-chattingroom-master\demo\本機客戶端\王五上線.bat
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\demo\本機服務器\
?????文件????????7879??2018-11-15?03:40??simple-chattingroom-master\demo\本機服務器\server.jar
?????文件??????????48??2018-11-15?03:40??simple-chattingroom-master\demo\本機服務器\啟動服務器.bat
?????文件???????12897??2018-11-15?03:40??simple-chattingroom-master\screenshot-1.png
?????文件???????16698??2018-11-15?03:40??simple-chattingroom-master\screenshot-2.png
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\simple-chattingroom-client\
?????文件???????10351??2018-11-15?03:40??simple-chattingroom-master\simple-chattingroom-client\Client.java
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\simple-chattingroom-server\
?????目錄???????????0??2018-11-15?03:40??simple-chattingroom-master\simple-chattingroom-server\src\
?????文件????????8884??2018-11-15?03:40??simple-chattingroom-master\simple-chattingroom-server\src\Server.java
評論
共有 條評論