import java.awt.*;
import java.awt.event.*;
import java.net.*;
public class GUIchat {
/**
* @param args
*/
Frame f=new Frame("我的聊天室");
TextField tf1=new TextField(15);
List l=new List(6);
DatagramSocket ds;//
public GUIchat()//DatagramSocket构造函数时候可能会抛出异常,所以要弄这个try..catch异常铺货处理
{
try
{
ds=new DatagramSocket(2699);
}
catch(Exception e){}
new Thread(new Runnable()
{
public void run()
{
byte buf[]=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,1024);
while(true)
{
try
{
ds.receive(dp);
l.add(new String(buf,0,dp.getLength())+" :from "+dp.getAddress().getHostAddress(),0);
}catch(Exception e){}
}
}//接受信息程序
}).start();
}
import java.awt.event.*;
import java.net.*;
public class GUIchat {
/**
* @param args
*/
Frame f=new Frame("我的聊天室");
TextField tf1=new TextField(15);
List l=new List(6);
DatagramSocket ds;//
public GUIchat()//DatagramSocket构造函数时候可能会抛出异常,所以要弄这个try..catch异常铺货处理
{
try
{
ds=new DatagramSocket(2699);
}
catch(Exception e){}
new Thread(new Runnable()
{
public void run()
{
byte buf[]=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,1024);
while(true)
{
try
{
ds.receive(dp);
l.add(new String(buf,0,dp.getLength())+" :from "+dp.getAddress().getHostAddress(),0);
}catch(Exception e){}
}
}//接受信息程序
}).start();
}
{
GUIchat chat=new GUIchat();
chat.init();
}////
public void init()
{
f.setSize(300,300);
f.add(l);
Panel p=new Panel();
p.setLayout(new GridLayout(1,2));
TextField tf2=new TextField(20);
p.add(tf1);
p.add(tf2);
f.add(p,"South");
f.setVisible(true);
f.setResizable(false);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
ds.close();
f.dispose();
System.exit(0);
}
});
tf2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
byte [] buf=e.getActionCommand().getBytes();
DatagramPacket dp = new DatagramPacket(buf,buf.length,
InetAddress.getByName(tf1.getText()),2699);
try
{
ds.send(dp);
}catch(Exception ex){ex.printStackTrace();}
((TextField)e.getSource()).setText(" ");//消息发送
}
});
}}
请那位大神解决下,谢谢啦
DatagramPacket不需要抛出异常吧,那到底咋回事
改用其他监听器吧,好久没弄GUI了,忘了,LZ自己网上查下吧。