首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关闭副窗口,却把主窗口也关闭了?解决方法

2012-01-30 
关闭副窗口,却把主窗口也关闭了???下面是一个录取的程序,点击菜单中的 录取 后选择子菜单 录取 ,会弹

关闭副窗口,却把主窗口也关闭了???
下面是一个录取的程序,点击菜单中的 "录取 "后选择子菜单 "录取 ",会弹出一个子窗口,但是假如我把这个子窗口关掉的话,主窗口也部执行.郁闷     ...    
代码如下:    
====================================================    
 
import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.JOptionPane;

class   z_Launch{

TextField   z_tName;
        TextField   z_tID   ;
        TextField   z_tTotal   ;
        TextField   z_tSports;
       
        Label           z_l1;//设置居中
        Label           z_l2   ;
        Label           z_l3   ;
      Label           z_l4;
     
      Button         z_bEnroll   =   new   Button( "录取 ");
      Button         z_bReset     =   new   Button( "重置 ");
z_Launch(){

  ////////////////////////////////
        ///设置登陆框
       
        Frame   z_Launch   =   new   Frame( "登陆 ");
       
        z_Launch.setLayout(new   GridLayout(5,2));
       
        z_tName   =   new   TextField();
                z_tID   =   new   TextField();
          z_tTotal   =   new   TextField();
        z_tSports   =   new   TextField();
       
                z_l1   =   new   Label( "用户名 ",Label.CENTER);//设置居中
                  z_l2   =   new   Label( "考号 ",Label.CENTER);
                z_l3   =   new   Label( "综合成绩 ",Label.CENTER);
              z_l4   =   new   Label( "体育成绩 ",Label.CENTER);
     
            z_bEnroll   =   new   Button( "录取 ");
              z_bReset     =   new   Button( "重置 ");
     
      z_Launch.add(z_l1);
      z_Launch.add(z_tName);
     
z_Launch.add(z_l2);
      z_Launch.add(z_tID);
     
      z_Launch.add(z_l3);
      z_Launch.add(z_tTotal);
     
      z_Launch.add(z_l4);
      z_Launch.add(z_tSports);
     
      z_Launch.add(z_bEnroll);
      z_Launch.add(z_bReset);
     
z_Launch.pack();
        z_Launch.setBounds(100,200,300,200);
        z_Launch.setResizable(false);
        z_Launch.setVisible(true);


       
        z_Launch.addWindowListener(new   WindowAdapter(){
        public   void   windowClosing(WindowEvent   e){
        System.exit(0);
        }
        });
    }
}

class   z_intferface   extends   WindowAdapter   implements   ActionListener{

        Frame   f;
                MenuBar   z_mb;
        Menu   z_Enroll;
        Menu   z_Stat;
        Menu   z_Exit;
        TextArea   z_t;
                //
    MenuItem   z_mEnroll;
    MenuItem   z_mStat;
        MenuItem   z_mExit;
MenuItem   z_mExit2;



z_intferface(){

      f   =   new   Frame( "登陆 ");
      z_mb   =   new   MenuBar();
      z_t   =new   TextArea();
       

//
                z_Enroll   =   new   Menu( "录取 ");
        z_Stat   =     new   Menu( "统计 ");
        z_Exit   =       new   Menu( "退出 ");

//
        z_mEnroll=
new   MenuItem( "录取 ",new   MenuShortcut(KeyEvent.VK_L));
        z_mStat=
new   MenuItem( "统计 ",new   MenuShortcut(KeyEvent.VK_S));

                z_mExit=
new   MenuItem( "退出 ",new   MenuShortcut(KeyEvent.VK_T));
              z_mExit2=
new   MenuItem( "退出 ",new   MenuShortcut(KeyEvent.VK_T));

        //
       
        z_Enroll.add(z_mEnroll);
        z_Enroll.addSeparator();
        z_Enroll.add(z_mExit2);
       
        z_Stat.add(z_mStat);
       
          z_Exit.add(z_mExit);
        //
             
        z_mb.add(z_Enroll);
        z_mb.add(z_Stat);
        z_mb.add(z_Exit);
       
        f.setMenuBar(z_mb);
        f.add(z_t);
             
                z_Exit.addActionListener(this);
                z_mEnroll.addActionListener(this);
        z_mExit.addActionListener(this);
        z_mExit2.addActionListener(this);
        z_Stat.addActionListener(this);
       
      /*z_mStat.addActionListener(new       ActionListener()       {      


                    public       void       actionPerformed(ActionEvent       ae)       {      
                                    System.exit(0);      
                    }      
          });
          z_mExit.addActionListener(new       ActionListener()       {      
                    public       void       actionPerformed(ActionEvent       ae)       {      
                                    System.exit(0);      
                    }      
            });
            z_mExit2.addActionListener(new       ActionListener()       {      
                    public       void       actionPerformed(ActionEvent       ae)       {      
                                    System.exit(0);      
                    }      
          });
         
            z_mEnroll.addActionListener(new       ActionListener()       {      
                    public       void       actionPerformed(ActionEvent       ae)       {      
                                  new   z_Launch();  
                    }      
          });*/
       
          f.addWindowListener(new   WindowAdapter(){
        public   void   windowClosing(WindowEvent   e){
        System.exit(0);
        }
        });
       
          f.pack();
        f.setVisible(true);
         
       
               
    }
   
  public   void   actionPerformed(ActionEvent   e){//有问题
 
    if(e.getSource()   ==   z_Exit.getItem(0)){
        System.exit(0);
    }
    else   if(e.getSource()   ==   z_Enroll.getItem(0)){
    new   z_Launch();


   
    }
    else   if(e.getSource()   ==   z_Enroll.getItem(2)){
      System.exit(2);
    }
   
    }
}


    public   class   Z_LuQu   {
       
        public   static   void   main(String[]   args)   {
       
        //   TODO,   add   your   application   code
        z_intferface   z_i   =   new   z_intferface();
        //z_Launch   z_l   =   new   z_Launch();
        }
}


[解决办法]
z_Launch.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// System.exit(0);
z_Launch.dispose();
}
});

这样改的话 z_Launch 要声明为final

热点排行