A good answer might be:

public class percentFatPanel extends JFrame
  implements ActionListener
{


  public percentFatPanel()
  {
    getContentPane().setLayout(
        new BoxLayout( getContentPane(), BoxLayout.Y_AXIS );
   . . . . .

Adding the Panels

Notice how two uses of getContentPane() are needed to set the layout manager. The second is needed as a parameter for the BoxLayout constructor. Now add the top label, the panels, and the button to the content pane:

  JLabel title      = new JLabel("Percent of Calories from Fat");
  JLabel fatLabel   = new JLabel("Enter grams of fat:   ");
  JLabel calLabel   = new JLabel("Enter total calories: ");
  JLabel perLabel   = new JLabel("Percent calories from fat: ");

  JTextField inFat  = new JTextField( 7 );
  JTextField inCal  = new JTextField( 7 );
  JTextField outPer = new JTextField( 7 );

  JButton    doit   = new JButton("Do It!");

  JPanel fatPanel   = new JPanel();
  JPanel calPanel   = new JPanel();
  JPanel perPanel   = new JPanel();

  public percentFatPanel()
  {
    fatPanel.add( fatLabel );
    fatPanel.add( inFat );
    calPanel.add( calLabel );
    calPanel.add( inCal );
    perPanel.add( perLabel );
    perPanel.add( outPer );

    getContentPane().setLayout(
        new BoxLayout( getContentPane(), BoxLayout.Y_AXIS );

    getContentPane().add( );
    getContentPane().add(  );
    getContentPane().add( );
    getContentPane().add( );
    getContentPane().add( );

QUESTION 7:

Add the components from top to bottom