Could somebody tell me which java layout I need to use to achieve the layout below:

I am currently playing out with the FlowLayout however I can’t get the entry fields to line up beside the output window:

Apologies if this is a simple question this is my first time using java. Here is my frame code:
    private void makeFrame()
     {
       setLayout(new FlowLayout(0));
    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    JPanel panel3 = new JPanel();
    JPanel panel4 = new JPanel();
    JPanel panel5 = new JPanel();
    JPanel panel6 = new JPanel();
    JPanel panel7 = new JPanel();
    panel1.setLayout(new FlowLayout(0));
    panel2.setLayout(new FlowLayout(0));
    panel3.setLayout(new FlowLayout(0));
    panel4.setLayout(new FlowLayout(0));
    panel5.setLayout(new FlowLayout(0));
    panel6.setLayout(new FlowLayout(0));
    panel7.setLayout(new FlowLayout(0));
    JLabel firstnameJLabel = new JLabel("First Name");
    JLabel lastnameJLabel = new JLabel("Last Name");
    JLabel streetJLabel = new JLabel("Street");
    JLabel townJLabel = new JLabel("Town");
    JLabel postcodeJLabel = new JLabel("Post Code");
    panel1.add(listAllBtn);
    panel1.add(listPersonalBtn);
    panel1.add(listBusinessBtn);
    panel1.add(addPersonalBtn);
    panel1.add(addBusinessBtn);
    panel1.add(deleteBtn);
    panel1.add(findBtn);
    panel1.add(quitBtn);
    panel2.add(firstnameJLabel);
    panel2.add(this.firstNameField);
    panel2.add(this.bookScrollPane);
    this.outputArea.setEditable(false);
    panel3.add(lastnameJLabel);
    panel3.add(this.lastNameField);
    panel4.add(streetJLabel);
    panel4.add(this.streetField);
    panel5.add(townJLabel);
    panel5.add(this.townField);
    panel6.add(postcodeJLabel);
    panel6.add(this.postcodeField);
    panel7.add(enterBtn);
    add(panel1);
    add(panel2);
    add(panel3);
    add(panel4);
    add(panel5);
    add(panel6);
    add(panel7);
    enterBtn.addActionListener(this);
  }
 
     
     
    
 
    
 
     
     
    