internalframe在desktoppane中,上面有菜单栏点击产生interframe,如何关闭打开的所有interframe或者选种的一个。

解决方案 »

  1.   

    不好意思,小弟菜鸟,问题自己解决拉。贴出代码
     public void actionPerformed(ActionEvent e) {
            if ("new".equals(e.getActionCommand())) { //new
                String b=e.getActionCommand();
                createFrame();
            } else if ("new1".equals(e.getActionCommand())) { //new
                 String b=e.getActionCommand();
                 createFrame();}
               else if ("close".equals(e.getActionCommand())) { //new
                   String b=e.getActionCommand();
                   boolean alreadyDisposed = false;
                   if (!alreadyDisposed) {
                        alreadyDisposed = true;
                        JInternalFrame a[]=desktop.getAllFrames();
                        for(int i=0;i<a.length;i++)
                        {
                            desktop.remove(a[i]);
                         }
                   desktop.updateUI();
                   }
               }
               else if ("close selected".equals(e.getActionCommand())) { //new
                   String b=e.getActionCommand();
                   boolean alreadyDisposed = false;
                   if (!alreadyDisposed) {
                        alreadyDisposed = true;
                        JInternalFrame a=desktop.getSelectedFrame();
                        desktop.remove(a);
                        desktop.updateUI();
                   }
               }
               else if("quit".equals(e.getActionCommand())) 
                { //make sure the program exits
                        System.exit(0);
                    }
               else{ //quit
                quit();
            }
        }
    我用的方法可能很笨,希望大家贴出更加优化的代码。