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

📄 chat.java

📁 java课程的资料以及实验的代码
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.net.*;

public class Chat
{
	JFrame f=new JFrame("聊天室");
	String []Item={
		"127.0.0.1",
		"192.168.0.90",
		"10.23.25.102",
		"10.23.25.103",
		"10.23.25.104",
		"10.23.25.105",
		"10.23.25.106",
		"10.23.25.107",
		"10.23.25.108",
		"10.23.25.109",
		"10.23.25.110",
		"10.23.25.111",
		"10.23.25.112",
		"10.23.25.113",
		"10.23.25.114",
		"10.23.25.115",
		"10.23.25.116",
		"10.23.25.117",
		"10.23.25.118",
		"10.23.25.119",
		"10.23.25.120",
		"10.23.25.121",
		"10.23.25.122",
		"10.23.25.123",
		"10.23.25.124",
		"10.23.25.125",
		};
	JComboBox tfIP=new JComboBox(Item);  
	//TextField tfIP=new TextField(15);
	JTextArea lst=new JTextArea(10,10);
	JScrollPane sp=new JScrollPane(lst); 
	DatagramSocket ds;
	public Chat()
	{
		try
		{
			ds=new DatagramSocket(3000);
		}
		catch(Exception ex)
		{
			//ex.printStackTrace();
		}
		new Thread
		(
			new Runnable()
			{
				public void run()
				{
					byte [] buf=new byte[1024];
					DatagramPacket dp=new DatagramPacket(buf,1024);
					while(true)
					{
						try
						{
							ds.receive(dp);
							lst.append("收到从 "+dp.getAddress().getHostAddress()+" 发来的消息:"+new String(buf,0,dp.getLength())+(char)13+(char)10);
						}
						catch(Exception e)
						{
							//e.printStackTrace();
						}
					}
				}
			}
		).start();
	}
	public static void main(String []args)
	{
		Chat chat=new Chat();
		chat.init();
	}
	public void init()
	{
		f.setSize(300,300);
		lst.setEditable(false);
		f.getContentPane().add(sp);
		JPanel p=new JPanel();
		p.setLayout(new BorderLayout());
		p.add(BorderLayout.WEST,tfIP);
		JTextField tfData=new JTextField(10);
		p.add(BorderLayout.CENTER,tfData);
		f.getContentPane().add(BorderLayout.SOUTH,p);
		f.setVisible(true);
		f.setResizable(false);
		f.addWindowListener
		(
			new WindowAdapter()
			{
				public void windowClosing(WindowEvent e)
				{
					ds.close();
					f.setVisible(false);
					f.dispose();
					System.exit(0);
				}
			}
		);
		tfData.addActionListener
		(
			new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
					//
					byte []buf;
					buf=e.getActionCommand().getBytes();		
					try
					{
						DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName(tfIP.getSelectedItem().toString()),3000);
						ds.send(dp);
					}
					catch(Exception ex)
					{
						//ex.printStackTrace();
					}
					((JTextField)e.getSource()).setText("");
				}
			}
		);
	}
}

⌨️ 快捷键说明

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