java 多个JPanel添加到一个JPanel里面出现的问题

我在主窗口类里面添加了JPanel 希望通过点击添加3个已经写好的Panel
if(e.getActionCommand().equals("DES"))
{
desPan = new DesPanel();
jp.add(desPan.desPanel1, BorderLayout.WEST);
jp.add(desPan.desPanel2, BorderLayout.CENTER);
jp.add(desPan.desPanel3, BorderLayout.SOUTH);
jp.validate();
}
图片说明
结果如上 东西都被扭曲了,原本3个Panel添加到JFrame里面是这样的
图片说明

    三个Panel的代码着这么写的,我调试了半天 也没能调整好 怎么解决啊
    desPanel1 = new JPanel();
    desPanel2 = new JPanel();
    desPanel3 = new JPanel();
    jl_des1 = new JLabel("Secret key:");
    jl_des2 = new JLabel("Plain text:");
    jl_des3 = new JLabel("Cipher text");
    jtf_des1 = new JTextField();
//  jtf_des1.setText(null);
    jtf_des2 = new JTextField();
//  jtf_des2.setText(null);
    jtf_des3 = new JTextField();
//  jtf_des3.setText(null);
    button_des1 = new JButton("Encipher");
    button_des2 = new JButton("Decipher");


    desPanel1.setLayout(new GridLayout(3,1));
    desPanel2.setLayout(new GridLayout(3,1));
    desPanel3.setLayout(new GridLayout(1,2));

    desPanel1.add(jl_des1);
    desPanel1.add(jl_des2);
    desPanel1.add(jl_des3);
    desPanel2.add(jtf_des1);
    desPanel2.add(jtf_des2);
    desPanel2.add(jtf_des3);
    desPanel3.add(button_des1);
    desPanel3.add(button_des2);

    desPanel1.setLayout(new GridLayout(3,1));
    desPanel2.setLayout(new GridLayout(3,1));
    desPanel3.setLayout(new GridLayout(1,2));

你应该把三个panel加到一个大容器里面 然后在设置布局

谢谢我已经成功了 我本来就是把3个Panel放到两一个Panel里面 这样布局管理器调整很费劲 直接直接设置布局管理为NULL