⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multiclient.java

📁 要求你电脑装有JRE 一个基于JAVA的聊天程序
💻 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 + -