📄 clientreceive.java
字号:
import javax.swing.*;
import java.io.*;
import java.net.*;
public class ClientReceive extends Thread{//客户端聊天消息的接收
Socket socket;
JTextArea usershow;//用户列表窗口
JTextArea messageshow;//消息窗口
JComboBox userlist;//选择发送消息的接收者
ObjectOutputStream output;
ObjectInputStream input;
JButton set;//设置按钮
JButton connect;//连接按钮
JButton cut;//断开按钮
public ClientReceive(Socket socket,JTextArea usershow,JTextArea messageshow,
JComboBox userlist,ObjectOutputStream output,ObjectInputStream input,
JButton set,JButton connect,JButton cut){
this.socket = socket;
this.usershow = usershow;
this.messageshow = messageshow;
this.userlist = userlist;
this.output = output;
this.input = input;
this.set = set;
this.connect = connect;
this.cut = cut;
}
public void run(){//启动线程
while(!socket.isClosed()){
try{
String type = (String)input.readObject();
if(type.equals("服务关闭")){//消息类型为服务关闭
output.close();//关闭输出流
input.close();//关闭输入流
socket.close();//关闭接口
messageshow.append("服务器已经关闭!\n");
set.setEnabled(true);
connect.setEnabled(true);
cut.setEnabled(false);
break;
}
else if(type.equals("聊天消息")){//消息类型为聊天消息
String msg = (String)input.readObject();
messageshow.append(msg);//在消息窗口中显示消息
}
else if(type.equals("用户列表")){//消息类型为用户下线
String user = (String)input.readObject();//接收用户列表
String usernames[] = user.split("\n");
userlist.removeAllItems();
userlist.addItem("所有人");
usershow.setText("");
int i = 0;
while(i < usernames.length){
userlist.addItem(usernames[i]);
usershow.append(usernames[i]+'\n');
i++;
}
//userlist.setSelectedIndex(0);
}
}
catch(Exception e){
//System.out.println(e);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -