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

📄 server.java

📁 talk with each other
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class server{
	JFrame main_frame;
	JPanel npanel,cpanel,spanel;
	JTextField send_textfield;
	JTextArea show_textarea;
	JButton open_button,send_button;
	JScrollPane scroll_textarea;
	PrintWriter out;
	mythread a;
	server()
	{
		main_frame=new JFrame("服务端");
		npanel=new JPanel(new FlowLayout(FlowLayout.CENTER));
		cpanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
		spanel=new JPanel(new FlowLayout(FlowLayout.LEFT));
		send_textfield=new JTextField(15);
		show_textarea=new JTextArea(20,18);
		open_button=new JButton("打开服务端");
		send_button=new JButton("发送");
		scroll_textarea=new JScrollPane(show_textarea,
		JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
		JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS
		);
		npanel.add(open_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);
		open_button.addMouseListener(new mymouse(this));
		send_button.addMouseListener(new mymouse(this));
	}
	
	void opensocket()
	{
		a=new mythread(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[])
	{
		server qkl=new server();
	}
}
class mymouse implements MouseListener
{
	server tomouse;
	mymouse(server tomouse)
	{
		this.tomouse=tomouse;
	}
	public void mouseClicked(MouseEvent e) 
	{
		JButton one=(JButton)e.getSource();
		if(one==tomouse.open_button)
		{
		   tomouse.opensocket();	
		}
		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 mythread extends Thread
{
	server tomythread;
	ServerSocket sc;
	BufferedReader in;
	PrintWriter out;
	mythread(server tommythread)
	{
		this.tomythread=tommythread;
		try{
			sc=new ServerSocket(730);
			tomythread.open_button.setEnabled(false);
			}
			catch(IOException aa)
			{
			}
		
		
	}
	public void run()
	{
		while(true)
		{
			try
			{
				Socket scc=sc.accept();
				tomythread.show_textarea.append("客户端已经连接!"+"\r\n");
				in=new BufferedReader(new InputStreamReader(scc.getInputStream()));
				out=new PrintWriter(new OutputStreamWriter(scc.getOutputStream()));
			while(true)
			{
				String message=new String();
		
					message=in.readLine();
				
					if(message!=null)
					tomythread.show_textarea.append("客户端:"+message+"\r\n");
					else
					{
						tomythread.show_textarea.append("客户已经断开连接"+"\r\n");
						sc.close();
						return;
					}
				}
			
			}
			catch(IOException e)
			{
				tomythread.show_textarea.append("readline error!");
			}
		}
		
}
}

⌨️ 快捷键说明

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