资源简介
使用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
相关资源
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
- java软件工程师简历模板——应届生
- DES(CFB) JAVA
- java读取局域网共享机器文件
- [免费]java学习 存储过程
评论
共有 条评论