前几天我的子窗口不能最大化,经朋友们帮助已解决。万分谢谢大家啦!
我还是把我的情况先说一下啊。
我想建立MDI多文档界面,用了JinternalFrame,JdesktopPane来做。
从主窗口Frame1里想打开子窗口Frame31。子窗口的代码继承自JinternalFrame
public class Frame3 extends JInternalFrame {
    ....
     public Frame3() {
        super("子窗口",true,true,true,true);  
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
}2。主窗口中用了JdesktopPanepublic class Frame1 extends JFrame {
    JDesktopPane mydesktopPane; //声明一个JdesktopPane容器类的变量
    ...
    public Frame1() {
        Container mycontentPane = this.getContentPane(); //声明一个Container容器
        mydesktopPane = new JDesktopPane(); //生成JdesktopPane容器型的容器实例
        mycontentPane.add(mydesktopPane); 
        setSize(300, 300);//??????????????????????????
        setResizable(true);
        show(); //????????????????????没有此句将不显示子窗口
        .....
    }      public void jButton1_actionPerformed(ActionEvent e) {
        Frame2 bb = new Frame2();
        bb.show();
    }3。用于打开子窗口的代码
     public void jButton2_actionPerformed(ActionEvent e) {
        Frame3 aa = new Frame3();             
        aa.setLocation( 20,20             
        aa.setSize(200,200);      
        aa.setVisible(true);//或aa.show();
        mydesktopPane.add(aa);    }
主要代码都帖出来了。我的问题是
一。现在主窗口打开最大化后,
将里面的子窗口最大化时,并不能放大到占满主窗口大小,只占了主窗口的一小部分。
我查看后发现
setSize(300, 300);//??????????????????????????
这句修改参数后可以改变子窗口在主窗口中可最大化的大小程度。
我一直以为setSize(300, 300);是设置主窗口Frame1的大小。
其实这句怎么改变的是mydesktopPane容器的大小啊,我不明白请明白人讲解一下吧。谢谢。我现在虽然通过设置setSize(300, 300)的参数来增大子窗口可最大化的程度,我理解的是也就是
我扩大了容器的大小,子窗口即使最大化也不能超过mydesktopPane容器大小。如果是这样的话我该
怎么让mydesktopPane容器扩大到占满主窗口大小呢。
可是我怎么写代码才能将子窗口放大到占满主窗口呢。我迷惑中。。请帮忙啊。

解决方案 »

  1.   

    Toolkit tk=Toolkit.getDefaultToolkit();
    Dimension ds=tk.getScreenSize();
    width=ds.getWidth() ;
    height=ds.getHeight() ;
    setSize(width,height);
      

  2.   

    我原来就是这么写的
    Frame3 aa = new Frame3();               
    aa.setLocation( 20,20
    aa.setSize(350,250);      
            Dimension wndSize=Toolkit.getDefaultToolkit().getScreenSize();
            int screenHeight = wndSize.height;
            int screenWidth = wndSize.width;
            setSize(screenWidth  , screenHeight );
                      aa.setVisible(true);//或aa.show();
                      mydesktopPane.add(aa);可是不行