当然能 jb就是用java写的你买一本java图形设计 swing  看看吧

解决方案 »

  1.   

    jb哪个我我想使用的tablepane吧,至于mdi的概念很少用到,:(
      

  2.   

    不过我的建议是:JLayeredPane和JInternalFrame被一起用来在当前帧中创建子帧,以产生多文件接口(MDI)应用程序。
    呵呵,应该是你的效果吧,my points
      

  3.   

    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    class QQQ extends JFrame 

    JDesktopPane desk = new JDesktopPane(); 
    JInternalFrame if1 = new JInternalFrame(); 
    JInternalFrame if2 = new JInternalFrame(); 
    JButton bt1 = new JButton("Switch 1"); 
    JButton bt2 = new JButton("Switch 2"); 
    JButton btOpen = new JButton("Open"); 
    JTextField txt = new JTextField("I got focus!"); QQQ() 

    JPanel temp = new JPanel(); 
    temp.add(bt1); 
    temp.add(bt2); 
    temp.add(btOpen); 
    getContentPane().add(temp, BorderLayout.NORTH); 
    getContentPane().add(desk, BorderLayout.CENTER); 
    desk.add(if1); 
    desk.add(if2); 
    if1.getContentPane().add(txt, BorderLayout.NORTH); 
    if1.reshape(10,10,100,100); 
    if2.reshape(30,30,100,100); 
    bt1.addActionListener(new MyListener()); 
    bt2.addActionListener(new MyListener()); 
    btOpen.addActionListener(new MyListener()); 
    setBounds(100,100,400,400); 
    show(); 
    } public static void main(String[] args)  

    QQQ q = new QQQ(); 

    class MyListener implements ActionListener 

    public void actionPerformed(ActionEvent e) 

    try 

    if(e.getSource()==bt1) 
    if1.setSelected(true); 
    else if(e.getSource()==bt2) 
    if2.setSelected(true); 
    else{ 
    if1.setVisible(true); 
    if2.setVisible(true); 
    if1.setSelected(true); 
    txt.requestFocus();   


    catch (Exception ex) 

    } } 
    }; 
    }
      

  4.   

    用内部贞JInternalFrame,它生成的窗口,你就可以把它当成一个组件加在容器里(容器可以是JFrame、JWindow、jPanel)。可以看一下java的帮助文件,里面都有。下面是个拙劣的小程序,但基本原理就是这样,希望对你有帮助!:)主窗口:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;public class Demo 
    {
       public static void main(String args[])
       {
         
         DFrame frame=new DFrame();
         frame.show();
       }
    }class DFrame extends JFrame
    {
      public DFrame()
      {
        setTitle("Demo Frame");
        setSize(800,600);
        Container cp=getContentPane();
        DemoSon s=new DemoSon("Green Desk",true,true,true,true);
        cp.add(s,FlowLayout.LEFT);
        s.show();
      }
    }子窗口:import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;public class DemoSon extends JInternalFrame
    {
      public DemoSon(String title,boolean resizable,boolean closable,boolean maximizable,boolean iconifiable)
      {
        super(title,resizable,closable,maximizable,iconifiable);
        setTitle("InternalFrameTest");
        setSize(300, 200);
        JPanel bp=new JPanel();
        JButton bt=new JButton("Quit");
        this.getContentPane().add(bt,BorderLayout.NORTH);
      }
    }你也可以把它们合成一个,看情况而定。
      

  5.   

    请运行jdk1.3目录\demo\jfc\SwingSet2\swingset2.jar
    里面有例子及源代码