自己又写了一个亦可用于发送,也可用于接收的程序
在发送了数据后,在List上显示
但是现在只显示第一次的输入
以后就不再显示了
请问怎么解决?
谢谢大家的帮助
package ChatRoom;import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.List;
import java.net.*;
class Chat implements Runnable{ Frame f = new Frame("ChatRoom");
TextField input = new TextField(); //用于输入
List l = new List(6); //用于显示对方的输入
DatagramSocket ds = null;
Chat(){
try{
ds = new DatagramSocket(3000);
new Thread(this).start();
}catch(Exception e){
}
}
public void init(){
f.add(l);
f.add("South",input);
f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
f.setVisible(false);
f.dispose();
System.exit(0);
}
});
input.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
byte[] b = new byte[1024];
String in;
b = e.getActionCommand().getBytes();
in= ((TextField)e.getSource()).getText();
System.out.println("Send:"+in);
try{
DatagramPacket dp = new DatagramPacket(in.getBytes(),in.length(),InetAddress.getByName("192.168.1.2"),3000);
ds.send(dp);
}catch(Exception ex){
}
((TextField)e.getSource()).setText(""); }
});
} @Override
public void run() {
// TODO Auto-generated method stub
byte[] b = new byte[1024];
try{
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String str = new String(dp.getData(),0,dp.getLength())+" from "+dp.getAddress().getHostAddress()+":"+dp.getPort();
System.out.println("Receive:"+str);
l.add(str);
ds.close();
}catch(Exception e){
}
}
}public class TestChat {
public static void main(String[] args){
new Chat().init();
}}
在发送了数据后,在List上显示
但是现在只显示第一次的输入
以后就不再显示了
请问怎么解决?
谢谢大家的帮助
package ChatRoom;import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.List;
import java.net.*;
class Chat implements Runnable{ Frame f = new Frame("ChatRoom");
TextField input = new TextField(); //用于输入
List l = new List(6); //用于显示对方的输入
DatagramSocket ds = null;
Chat(){
try{
ds = new DatagramSocket(3000);
new Thread(this).start();
}catch(Exception e){
}
}
public void init(){
f.add(l);
f.add("South",input);
f.setSize(300,300);
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
f.setVisible(false);
f.dispose();
System.exit(0);
}
});
input.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
byte[] b = new byte[1024];
String in;
b = e.getActionCommand().getBytes();
in= ((TextField)e.getSource()).getText();
System.out.println("Send:"+in);
try{
DatagramPacket dp = new DatagramPacket(in.getBytes(),in.length(),InetAddress.getByName("192.168.1.2"),3000);
ds.send(dp);
}catch(Exception ex){
}
((TextField)e.getSource()).setText(""); }
});
} @Override
public void run() {
// TODO Auto-generated method stub
byte[] b = new byte[1024];
try{
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String str = new String(dp.getData(),0,dp.getLength())+" from "+dp.getAddress().getHostAddress()+":"+dp.getPort();
System.out.println("Receive:"+str);
l.add(str);
ds.close();
}catch(Exception e){
}
}
}public class TestChat {
public static void main(String[] args){
new Chat().init();
}}
解决方案 »
- java在win7里的环境变量设置
- 在JList里加CHECKBOX
- socket 流读取结束判断问题----------------很让人郁闷
- 一时心血来潮写了两个关于重载和覆盖的例子,也不知写得怎样,希望高手们不吝赐教~~~~~ 谢谢~~
- 关于用itext创建pdf时候的坐标问题
- 有谁知道取得JTextPane类中的对象的数据的方法?
- 数据库的问题
- 请问各位高手Mon Sep 02 02:00:00 CST 2002 怎样转换成2002-9-2 2:00:00啊
- 请问exception类中的方法printStackTrace()是做什么用的?
- 一个阻塞的问题
- 如何弄出玻璃色的...........
- JAVA怎么处理大于2G甚至20G的文件?
// TODO Auto-generated method stub
byte[] b = new byte[1024];
try{
boolean connect = true;
while(connet) {
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String str = new String(dp.getData(),0,dp.getLength()) +"from "+dp.getAddress().getHostAddress()+":"+dp.getPort();
System.out.println("Receive:"+str);
l.add(str);
}
ds.close();
}catch(Exception e){
}
}
http://blog.csdn.net/preferme/archive/2010/06/12/5667002.aspx
http://mybeautiful.javaeye.com/blog/659317