本帖最后由 nainai007 于 2011-06-01 21:18:13 编辑

解决方案 »

  1.   

    DesktopManager dm = desktop.getDesktopManager();
    dm.maximizeFrame(iframe);
      

  2.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class Example {
        public static void main(final String[] args) {
            java.awt.EventQueue.invokeLater(new Runnable(){
                    public void run(){
                        final JFrame frame = new JFrame("Example");
                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                        
                        final JDesktopPane desktop = new JDesktopPane();                    for(int i = 0; i<10; ++i){
                            JInternalFrame window = new JInternalFrame("Window " + i, true,true,true,true);
                            window.setPreferredSize(new Dimension(600,400));
                            JPanel panel = new JPanel(new BorderLayout());
                            panel.add(new JScrollPane(new JTextArea()));
                            window.setContentPane(panel);
                            window.pack();
                            window.setVisible(true);
                            desktop.add(window);
                        }
                        
                        Action allIcon = new AbstractAction("图标化所有窗口"){
                                public void actionPerformed(ActionEvent e){
                                    for(JInternalFrame window:desktop.getAllFrames()){
                                        desktop.getDesktopManager().iconifyFrame(window);
                                    }
                                }
                            };
                        
                        JMenuBar menubar = new JMenuBar();
                        JMenu windowMenu = new JMenu("Window");
                        windowMenu.add(allIcon);
                        menubar.add(windowMenu);                    frame.setJMenuBar(menubar);
                        frame.getContentPane().add(desktop);
                        frame.setPreferredSize(new Dimension(800,600));
                        frame.pack();
                        frame.setVisible(true);                    java.awt.EventQueue.invokeLater(new Runnable(){
                                public void run(){
                                    for(JInternalFrame f:desktop.getAllFrames()){
                                        desktop.getDesktopManager().maximizeFrame(f);
                                    }
                                }
                            });
                    }
                });
        }
    }