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

📄 chat.java

📁 基于netbeans的java桌面应用程序合集
💻 JAVA
字号:
/*
 * Chat.java
 *
 * Created on 2007年10月24日, 下午9:11
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.Adam;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
/**
 *
 * @author Administrator
 */
public class Chat {
    Frame f=new Frame("我的聊天室");
	TextField tfIP=new TextField(15);
	List lst=new List(6);
	DatagramSocket ds;
    /** Creates a new instance of Chat */
    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.add(new String(buf,0,dp.getLength())+":from"+dp.getAddress().getHostAddress(),0);
		  }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);
		f.add(lst);
		Panel p=new Panel();
		p.setLayout(new BorderLayout());
		p.add("West",tfIP);
		TextField tfData=new TextField(20);
		p.add("East",tfData);
		f.add("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();
                DatagramPacket dp = null;
                try {
                    dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(tfIP.getText()), 3000);
                } catch (UnknownHostException ex) {
                    ex.printStackTrace();
                }
		try
		{
		 ds.send(dp);
		}catch(Exception ex){ex.printStackTrace();}
		((TextField)e.getSource()).setText(" ");
	}

});

	}
}

⌨️ 快捷键说明

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