大家好,我这里有个问题急待大家回答,在此先表示感谢.
一个窗体类(主窗体),内设一个BUTTON按扭,通过这个BUTTON按扭来执行一个事件
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ChatApp chatApp=new ChatApp();
}
ChatApp是一个应用类,这个类调用了另一个窗体类 ChatFrame(第二个窗体);
public class ChatApp {
public ChatApp() {
ChatFrame frame=new ChatFrame();
frame.setVisible(true);
frame.waitforpacket();
}
}
而ChatFrame()类中的waitforpacket()的方法是也个死循环.
public void waitforpacket(){
while(true){
try{
byte[] array=new byte[100];
receivepacket=new DatagramPacket(array,array.length);
receivesocket.receive( receivepacket);
jTextArea1.append("\nfrom"+receivepacket.getAddress()+":");
String s=new String(receivepacket.getData(),0,receivepacket.getLength());
jTextArea1.append(s);
}
catch(IOException ioe){
jTextArea1.append(ioe.toString()+"\n");
ioe.printStackTrace();
}
}
}
这些全部能通过编译,但是运行的时候,出现了主窗体以后,
单击主窗体的按扭的时候后,ChatFrame()的窗体能出来,但是主窗体
和ChatFrame()的窗体上的器件都没了.程序也就进如了死循环了,其他功能都不好使
请您帮我指导一下
小弟不胜感激
谢谢
小弟忘了补充一点:
如果单独把ChatApp和ChatFrame类分离出来,在ChatApp类中加上main()函数后,调用
ChatFrame类,运行ChatApp,这个就好使,即使有死循环.