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

📄 client.java

📁 talk with each other
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class client{
	JFrame main_frame;
	JPanel npanel,cpanel,spanel;
	JTextField ip,send_textfield;
	JTextArea show_textarea;
	JButton connect_button,send_button;
	JScrollPane scroll_textarea;
	PrintWriter out;
	mythread2 a;
	client()
	{
		main_frame=new JFrame("客户端");
		npanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
		cpanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
		spanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
		send_textfield=new JTextField(15);
		ip=new JTextField("127.0.0.1",8);
		show_textarea=new JTextArea(20,18);
		connect_button=new JButton("连接服务端");
		send_button=new JButton("发送");
		scroll_textarea=new JScrollPane(show_textarea,
		JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
		JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
		);
		npanel.add(ip);
		npanel.add(connect_button);
		cpanel.add(scroll_textarea);
		spanel.add(send_textfield);
		spanel.add(send_button);
		main_frame.getContentPane().add(npanel,BorderLayout.NORTH);
		main_frame.getContentPane().add(cpanel,BorderLayout.CENTER);
		main_frame.getContentPane().add(spanel,BorderLayout.SOUTH);
		main_frame.setSize(250,500);
		main_frame.setVisible(true);
		connect_button.addMouseListener(new mymouse2(this));
		send_button.addMouseListener(new mymouse2(this));
	}
	
	void connectsocket()
	{
		a=new mythread2(this);
		a.start();
	}
	
	void showarea()
	{
		String message=new String();
		message=send_textfield.getText()+"\r\n";
		show_textarea.append("客户端:"+message);
	}
	
	public void senddata()
	{
		String message=new String();
		message=send_textfield.getText();
		a.out.println(message);
		a.out.flush();
		
	}
	
	public static void main(String args[])
	{
		client qkl=new client();
	}
}
class mymouse2 implements MouseListener
{
	client tomouse;
	mymouse2(client tomouse)
	{
		this.tomouse=tomouse;
	}
	public void mouseClicked(MouseEvent e) 
	{
		JButton one=(JButton)e.getSource();
		if(one==tomouse.connect_button)
		{
		   tomouse.connectsocket();	
		}
		else
		{
			tomouse.showarea();
			tomouse.senddata();
			tomouse.send_textfield.setText("");
			
		}
		
	
	}
	public void mousePressed(MouseEvent e) {
		
	}

	
	public void mouseReleased(MouseEvent e) {
	
	}


	public void mouseEntered(MouseEvent e) {
	
	}


	public void mouseExited(MouseEvent e) {
	}
	
}
class mythread2 extends Thread
{
	client tomythread2;
	Socket sc;
	BufferedReader in;
	PrintWriter out;
	mythread2(client tommythread2)
	{
		this.tomythread2=tommythread2;
		try{
			Socket sc=new Socket(tomythread2.ip.getText(),730);
			tomythread2.show_textarea.append("已经连接到服务端!"+"\r\n");
			tomythread2.connect_button.setEnabled(false);
			in=new BufferedReader(new InputStreamReader(sc.getInputStream()));
			out=new PrintWriter(new OutputStreamWriter(sc.getOutputStream()));
			}
			catch(IOException aa)
			{
			}
		
		
	}
	public void run()
	{
		while(true)
		{
			String message=new String();
			try
			{
				message=in.readLine();
				
				if(message!=null)
					tomythread2.show_textarea.append("服务端:"+message+"\r\n");
				else
				{
					tomythread2.show_textarea.append("客户已经断开连接"+"\r\n");
					sc.close();
					return;
				}
			}
			catch(IOException e)
			{
				tomythread2.show_textarea.append("readline error!");
			}	
			
			
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -