如果使用gridlayout的话,每个单元格的大小是平均分配的
如果想要2小3大的话,
可以使用BorderLayout,2放在west,3放在center

解决方案 »

  1.   

    没有东西的时候,设置panel的size试试。
      

  2.   

    用gridbaglayout想怎么布局就怎么布
      

  3.   

    我看主要是PANEL2和PANEL3的布局没搞好导致的原因
    如果你要达到那种效果,你可以将PANEL2的大小设置为固定的
    这样就不会去影响PANEL3的大小了,
      

  4.   

    jpanel1使用borderLayout,把jpanel2放在west,jpanel3放在center就可以避免了
    设置size基本没用
      

  5.   

    borderlayout 我试过了 但是 现在的问题还是那样  因为在(3)中并没有任何控件存在所以 (3)的大小变得很小和 (2)的差不多了 如何让(3)变大点。
    我也试过用gridbaglayout 但是不知道什么原因变的一塌糊涂了程序我也贴出来 给大家看看 我很着急不知道谁能帮我解决
    GridBagLayout gridbag=new GridBagLayout();
            jPanel1.setLayout(gridbag);        GridBagConstraints constraints=new GridBagConstraints();
            constraints.fill=GridBagConstraints.VERTICAL;
            jLabel1=new JLabel("User:");
            constraints.gridx=7;
            constraints.gridy=0;
            gridbag.setConstraints(jLabel1, constraints);
            jPanel1.add(jLabel1);        jLabel2=new JLabel("name");
            constraints.gridx=8;
            constraints.gridy=0;
            gridbag.setConstraints(jLabel2, constraints);
            jPanel1.add(jLabel2);        jPanel2=new JPanel();
            constraints.gridx=0;
            constraints.gridy=1;
            constraints.weightx=1;
            constraints.weighty=10;
            jPanel1.add(jPanel2);        jPanel3=new JPanel();
            constraints.gridx=1;
            constraints.gridy=1;
            constraints.weightx=8;
            constraints.weighty=10;
            jPanel1.add(jPanel3);
            jPanel1.add(jPanel2,BorderLayout.WEST);
            jPanel1.add(jPanel3,BorderLayout.CENTER);
            jPanel3.setLayout(new GridLayout(10, 10));
            jPanel3.add(new JButton("Button 1"));我不想再等第二天了 谁帮我解决 可以加分  
      

  6.   

    JPanel.setLayout(null);加上这一句就可以了
      

  7.   

    gridbaglayout  以前做过这个东西,就是麻烦点,LZ耐心调几次就好了