我现在正在做一个java期末作业,遇到了一点点小麻烦,就是怎么把一个panel面板分为左右两部分,左右的宽度能够自由设置,请高手们帮帮忙!

解决方案 »

  1.   

    楼主可以参考下 下面的代码: 
    private   void   CreateMySplitControls()//创建分割窗口   
            {   
                Panel   panel=new   Panel();//左边贴一张面板   
                panel.Dock=DockStyle.Left;   
                panel.TabIndex=4;   
        
                TreeView   tree=new   TreeView();//左上角一棵树   
                tree.Dock=DockStyle.Top;   
                tree.Height=ClientSize.Height*9/10;   
                tree.TabIndex=0;   
                tree.Nodes.Add("treeview");   
                  
                Splitter   split3=new   Splitter();   
                split3.Dock=DockStyle.Top;   
                split3.BackColor=Color.Blue;   
                split3.TabIndex=1;   
                split3.TabStop=false;                       
        
        
                PictureBox   pic=new   PictureBox();//左下角全景图   
                pic.Dock=DockStyle.Fill;   
                pic.TabIndex=1;   
                pic.SizeMode   =   PictureBoxSizeMode.StretchImage;   
                Bitmap   overview=new   Bitmap("overview.jpg");   
                pic.Image=(Image)overview;   
                  
        
                panel.Controls.AddRange(new   Control[]{pic,split3,tree});   
        
                Splitter   split1=new   Splitter();//面板右边画一个分割线   
                split1.Dock=DockStyle.Left;   
                split1.BackColor=Color.Red;   
                split1.TabIndex=1;   
                split1.TabStop=false;   
                  
                ListView   list=new   ListView();//右上角一个表   
                list.Dock=DockStyle.Top;   
                list.Height=ClientSize.Height*2/3;   
                list.TabIndex=2;   
                list.Items.Add("listview");   
                  
                Splitter   split2=new   Splitter();//表下面一个分割线   
                split2.Dock=DockStyle.Top;   
                split2.Height=3;   
                split2.BackColor=Color.Blue;   
                split2.TabIndex=1;   
                split2.TabStop=false;   
                
                RichTextBox   richtext=new   RichTextBox();//右下角一张纸   
                richtext.Dock=DockStyle.Fill;   
                richtext.TabIndex=3;   
                richtext.Text="richtextbox";   
        
                Controls.AddRange(new   Control[]{richtext,split2,list,split1,panel});   
            }
      

  2.   

    用JSplitPane,然后添加两个JPanel,JSplitPane有方向的。