我觉得SWING和SOKECT两个就可以做个简单的聊天室了
是不是呢?

解决方案 »

  1.   

    基本是
    java.net.*;
    java.swing.*;
    再加个java.io.*;吧。。随便你
      

  2.   

    net->socket
    io->流
    swing->界面可以把消息封装成对象,通过对象流实现通信。
    这个比较方便
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    public class Chat
    {
    Frame f=new Frame("我的聊天室");
    TextField tfIP=new TextField(15);
    List lst=new List(6);
    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.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();
    try
    {
    DatagramPacket dp= new DatagramPacket(buf,buf.length,
    InetAddress.getByName(tfIP.getText()),3000);
    ds.send(dp);
    }
    catch(Exception ex){ex.printStackTrace();}
    ((TextField)e.getSource()).setText("");
    }
    });
    }
    }
      

  4.   

    搞过一个最简单的聊天室
    一个javabean,两个方法,一个display(),一个chat(),chat把客户端的信息保存在一个ArrayList里,display()只把这个ArrayList返回给jsp页面,然后列出来超级简单,代码不过二三十行
      

  5.   

    我就是SWING用的差,做出来不象聊天室