我想实现MDI多窗口框架。
子窗口Frame3继承自JInternalFrame。
主窗口Frame1继承自JFrame。1。在Frame1中声明了JDesktopPane desktoppublic class Frame1 extends JFrame {
    ...
    JDesktopPane desktop;
    ....
    }2.在jbInit()中实例化desktop
private void jbInit() throws Exception { 
        desktop=new JDesktopPane();
        setContentPane(desktop);  
        desktop.putClientProperty("JDesktopPane.dragMode","outline");//加速拖动
    }3.在主窗口Frame1菜单中 中将Frame3加入desktop,想打开子窗口Frame3
  public void jMenuItem2_actionPerformed(ActionEvent e) {
     Frame3 bb= new Frame3();
     desktop.add(bb);
     bb.show();
    }为什么打不开Frame3呢,少写了什么语句或是语句错误?

解决方案 »

  1.   

    在方法3最后加上:“bb.toFront();”试试。
      

  2.   

    Frame3 bb= new Frame3();        bb.setVisible(true); //necessary as of 1.3
            desktop.add(bb);
            try {
                bb.setSelected(true);
            } catch (java.beans.PropertyVetoException e) {}你可以试一下
      

  3.   

    不能看表面,楼主最好一步步调试下去,这类问题很容易发现的,如size、visible这种小毛病确实很难发现,不过通过步步调试,绝对可以抓住!!!