求助JPanel显示大小问题?
定义了两个JPanel               p1,p2,然后设置p1的布局管理器为BorderLayout 
 然后设置p2的布局管理器为GridBagLayout         ,然后在p2上面加了一些组件 
 最后把p2加到p1上面去,即   p1.add(p2,BorderLayout.CENTER); 
 但是p2完全填充了p1的CENTER区域,我该怎么设置才能使p2按照我设置的大小显示 
 还有就是怎么才能在p1中精确定位p2的显示位置? 
 谢谢您的回答。。。
------解决方案--------------------我所知道二个办法:一,把p1的布局设置成NULL,p1.setLayout(null);(好象是这样,不知道写错了没).然后你就可以把其它组件按你的大小放进去,不过这样就要先也一定要指定大小和位置, 
 二,把布局设成FlowLayout,这样也会按你的大小或默认大小进去的。这样你也许就要多用点面板了才能定位好了。 
 还有精确定位是不好的,一但你拉动窗口的大小你会发现组件排列超级变形了,不好看了(除非你设置成面板大小固定)
------解决方案--------------------getContentPane().setLayout(null);然后在上面放别的东西
------解决方案--------------------import java.awt.*; 
 import javax.swing.*;   
 public class Test extends JFrame 
  { 
     JPanel p1; 
     JButton btnP1 = new JButton(); 
     JPanel p2 = new JPanel(); 
     JButton btnP2 = new JButton(); 
     JTextArea txaInfo = new JTextArea(); 
     public Test()  
 	{ 
         try 
 		{ 
             setDefaultCloseOperation(EXIT_ON_CLOSE); 
             init(); 
         } 
 		catch (Exception exception)  
 		{ 
             exception.printStackTrace(); 
         } 
     }   
     private void init() throws Exception 
 	{ 
         p1 = (JPanel) getContentPane(); 
         p1.setLayout(null); 
         setSize(new Dimension(400, 300)); 
         setTitle( "Frame Title "); 
         btnP1.setBounds(new Rectangle(42, 25, 142, 36)); 
         btnP1.setFont(new java.awt.Font( "Dialog ", Font.BOLD, 16)); 
         btnP1.setText( "我在p1上 "); 
         p2.setBorder(BorderFactory.createEtchedBorder());//特别在p2上设置个边框 
         p2.setBounds(new Rectangle(92, 81, 223, 101)); 
         p2.setLayout(null); 
         btnP2.setBounds(new Rectangle(49, 23, 132, 44)); 
         btnP2.setFont(new java.awt.Font( "Dialog ", Font.BOLD, 16)); 
         btnP2.setText( "我在p2上 "); 
         txaInfo.setFont(new java.awt.Font( "Dialog ", Font.PLAIN, 16)); 
         txaInfo.setText( "我也在p1上,p2加在p1上,加了边框的就是p2 "); 
         txaInfo.setBounds(new Rectangle(46, 204, 309, 54)); 
         p1.add(btnP1); 
         p1.add(p2); 
         p1.add(txaInfo); 
         p2.add(btnP2); 
         this.setLocationRelativeTo(this);//窗口居中显示 
         this.setVisible(true); 
     } 
 	public static void main(String[] args) 
 	{ 
 		new Test(); 
 	} 
 }
------解决方案--------------------p1布局不用改 
 建议加个p3 放进p1布局的center位置 再把p2和你要放的其他东西放在p3里 p3的布局看你需要了 
 再建议你说的p2以外的其他东西也放在一个Panel里