问题1:
    我做了个界面,当用户点击右上角"X"的时候,弹出一个像Windows关机样的选择对话框(这里我是自己写的一个类,我让他继承了JWindow),但是点击以后主界面却关了.我想问下有办法在我点了"X"以后,主界面不关闭,又弹出对话框让用户选择,根据用户的选择再进行下一不操作!问题2:
    接问题1,假设问题1的问题已经解决,选择界面上有三个按纽("退出","重新登陆","切换用户"),如果选择的是重新登陆或者是切换用户,怎么关闭软件已开的另外一些多余的窗口?我尝试写了下面一段代码(但是编译时提示"该类不是封闭类"):
    public class CloseWindow extends JWindow{
        ...<其他代码省略>
        lblReStart.addMouseListener( new MouseAdapter() {
        //点击.
        public void mouseClicked(MouseEvent e){
   MainFrame.this.dispose();
   new MyProgress();
        }
        ...<其他代码省略>
    }
    备注: MainFrame是我想关闭的窗口,他是继承了JFrame类....
          错误提示是:该类不是封闭类   小弟,先在这里谢谢论坛里的高手们了..............
   如有觉得问题不清楚者,请在本贴跟贴,我会尽量说的清楚点.....
   谢谢了...!

解决方案 »

  1.   

    mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //点窗体关闭按钮,不做任何操作mainFrame.addWindownListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e) {
            new MyProgress();
        }
    });
      

  2.   

    在执行“重新登陆”或“切换用户”之前,把已经打开的窗口一个一个dispose掉不行么?如果不知道已经打开了哪些窗口,那就在每打开一个窗口前,把打开的窗口放到一个数组里,关的时候一个一个关?不知道有没有高手有更好的办法!