📄 multiclient.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.lang.*;
class MultiClient implements Runnable
{
Thread th;
BufferedReader in=null;
Socket socket=null;
PrintWriter out=null;
TextArea text=new TextArea(30,10);
Button button;
TextField file;
TextField te;
Button bu;
Frame f;
String str;
public void GUI(){
f=new Frame("客户端");
text.setEditable(false);
f.addWindowListener(new window());
Label label=new Label("消息窗口",Label.CENTER);
file=new TextField("请输入你要发送消息!");
file.setEditable(false);
file.addActionListener(new MyActListener());
button=new Button("发送");
button.setEnabled(false);
button.addActionListener(new MyActListener());
Panel pp=new Panel();
pp.setLayout(new GridLayout());
pp.add(te=new TextField("你的名字"));
te.addActionListener(new Myview());
pp.add(bu=new Button("进入"));
bu.addActionListener(new Myview());
Panel p=new Panel();
p.setLayout(new GridLayout());
p.add(label);
p.add(pp);
f.add("North",p);
f.add("Center",text);
Panel pan=new Panel();
pan.setLayout(new GridLayout());
pan.add(file);
pan.add(button);
f.add("South",pan);
f.setSize(400,400);
f.show();
}
MultiClient(int n) throws Exception
{
socket=new Socket("127.0.0.1",n);
in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out=new PrintWriter(socket.getOutputStream());
if(socket!=null){
th=new Thread(this);
th.start();
}
}
public static void main(String[] args) throws Exception
{
MultiClient m=new MultiClient(5555);
m.GUI();
}
class window extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
out.println("exit");
out.flush();
try{
socket.close();
out.close();
in.close();
}catch(Exception ee){}
System.exit(1);
}
}
class Myview implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
button.setEnabled(true);
bu.setEnabled(false);
file.setEditable(true);
te.setEditable(false);
str=te.getText();
text.append("〖"+str+"〗欢迎你加入聊入!!!\n");
}
};
class MyActListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s=str+":"+file.getText();
out.println(s);
out.flush();
file.setText(null);
}
}
public void run()
{
String msg,s;
while(true){
try{
msg=in.readLine();
if(msg!=null)
text.append(msg+"\n");
}catch(Exception e){}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -