先把窗口分解成一行三例的GridBagLayout布局.
然后第一个panel占一例,第二个panel占二例就可以了.

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class ManagerAgentFrame extends Frame{

    Panel leftPanel=new Panel();
    Panel rightPanel=new Panel();
    Color color1 =new Color(255,0,0);
    Color color2 =new Color(255,250,0);
    ManagerAgentFrame(){
    setSize(550,400);
    setResizable(false);
    leftPanel.setBackground(color1);
    GridBagLayout gridbag=new GridBagLayout();
    GridBagConstraints gbc=new GridBagConstraints();
    setLayout(gridbag);
    gbc.gridwidth=1;
    gbc.gridheight=1;
    gbc.gridx=0;
    gbc.gridy=0;
    //gbc.anchor=gbc.CENTER;
    //gbc.fill=gbc.BOTH;   
    add(leftPanel,gbc);

        rightPanel.setBackground(color2);
       
        gbc.gridwidth=2;
        gbc.gridheight=1;
        gbc.gridx=1;
        gbc.gridy=0;
        gbc.fill=gbc.BOTH;
                 add(rightPanel,gbc);

    }
    public static void main(String[] args){
    ManagerAgentFrame frame=new ManagerAgentFrame();
    frame.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {System.exit(0);}
            });               
             frame.setVisible(true);
            
            
        }
    }我都试过了,出来的就是两个小点点阿:(
      

  2.   

    使用gridbaglayout来分割窗口,除非已经有三构建布置成一行才可以在其它行将其中两列合并吧?
    如果仅仅有一行,没有办法合并?