📄 client.java
字号:
package lts;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
public class Client
extends Thread
implements ActionListener{
public static String userName="";
public String comm="";
Socket so = new Socket("127.0.0.1",8899);
DataInputStream dis = new DataInputStream(so.getInputStream());
DataOutputStream dos = new DataOutputStream(so.getOutputStream());
JTextArea jta = new JTextArea(20,30);
JTextArea jta1 = new JTextArea(5,30);
public void actionPerformed(ActionEvent ae){
try{
dos.writeUTF(userName+"说:"+jta1.getText());
//ss=dis.readUTF();
jta1.setText(null);
}catch(Exception e){
e.printStackTrace();
}
}
public Client(String userName) throws Exception{
this.userName=userName;
JFrame jf=new JFrame("聊天室");
JButton jb=new JButton("发送");
jb.addActionListener(this);
JPanel jp=new JPanel();
// jtf.addKeyListener(this);
jp.add(new JScrollPane(jta1));
jp.add(jb);
jta.setEditable(false);
jf.add(jp,BorderLayout.SOUTH);
jf.add(new JScrollPane(jta),BorderLayout.CENTER);
dos.writeUTF("欢迎"+userName+"加入聊天室");
this.start();
jta.setEditable(false);
jf.setResizable(false);
jf.setLocation(400, 300);
jf.setSize(450,500);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run(){
try{
while(true){
dos.writeUTF("");
jta.setText(dis.readUTF());
sleep(100);
}
}catch(Exception e){
jta.setText("服务器发生异常,本窗口将在3秒后退出。。。");
try {
sleep(3000);
System.exit(1);
} catch (Exception e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -