java:为什么frame窗口是打开了,但是窗口里面本该显示的组件却一个都显示不出来?

.............(略)
DialogBox dialog=new DialogBox(LogIn.users[index]);
dialog.setTitle("与"+LogIn.users[index].nickname+"聊天中");
dialog.setSize(500,400);
dialog.setVisible(true);
while(true){//接收对方信息,并显示
WaitForPackets packet=new WaitForPackets();
if(!packet.received.equals("")){
dialog.textPane.append(Color.RED,dialog.aUser.nickname+":\n");
dialog.textPane.append(Color.BLACK,packet.received+"\n");
}
}
...................(略)
这是我从我一个程序里摘出的一小段代码。功能是要显示一个对话框,并将接收的信息在这个对话框中显示出来。我的问题是:当我要打开对话框时,为什么窗口是打开了,但是窗口里面本该显示的组件却一个都显示不出来?(我觉得应该是因为那个while(true)死循环导致的)。请解释原因,并给出我一个解决的办法来。谢谢!

第1个回答  2008-02-28
个人感觉这样实现不大合理,
建议实现如下:
将组件初始化与接收消息的功能分开,
用一个内部线程或外部线程类来实现消息的接收本回答被网友采纳
相似回答