Если вы хотите, чтобы две панели имели одинаковый размер, каждая из которых занимает половину основного окна, используйте GridLayout:
getContentPane().setLayout(new GridLayout(1,2));
getContentPane().add(Panel1);
getContentPane().add(Panel2);
Если вы хотите, чтобы одна панель имела постоянную ширину, используйте BorderLayout:
getContentPane().setLayout(new BorderLayout());
getContentPane().add(Panel1,BorderLayout.EAST);
getContentPane().add(Panel2,BorderLayout.CENTER);
Если вы хотите более сложное поведение, например, для поддержания соотношения ширины 1: 2, вам придется использовать GridBagLayout, который является наиболее мощным, но также и самым сложным макетом:
getContentPane().setLayout(new GridBagLayout());
getContentPane().add(Panel1,new GridBagConstaints(0,0,1,1,1,1,GridBagConstraints.CENTER,GridBagLayout.BOTH,new Insets(0,0,0,0),0,0);
getContentPane().add(Panel2,new GridBagConstaints(1,0,1,1,2,1,GridBagConstraints.CENTER,GridBagLayout.BOTH,new Insets(0,0,0,0),0,0);