title: JTabbedPane with GridBagLayout
body: <p>I understood the concepts behind JTabbedPane and GridBagLayout. However, when I try to use both together I fail. That is, when I use GBLayout, my other tabs (each tab having different functionality) are not showing up. Please help. Thank You.</p>
  
  <p>Here is my code: </p>
  
  <pre><code>    import java.awt.*;
      import javax.swing.*;
  
      public class Tryout extends JFrame {
  
      private static final long serialVersionUID = 1L;
      private     JTabbedPane tabbedPane;
      private     JPanel      panel1;
      private     JPanel      breakfast;
  
      public Tryout()
      {   
          JPanel topPanel = new JPanel();
          topPanel.setLayout( new BorderLayout() );
          getContentPane().add( topPanel );
  
          createPage1(); //Tab1
          createPage2(); //Tab2
  
          tabbedPane = new JTabbedPane();
          tabbedPane.addTab( "Input Form", panel1 );
          tabbedPane.addTab( "Breakfast", breakfast );
          topPanel.add( tabbedPane, BorderLayout.CENTER );
      }
  
      public void createPage1()
      {
          /* Works fine when I un-comment this
          panel1 = new JPanel();
          panel1.setLayout(new BorderLayout());
          panel1.add(new JLabel("Hi"), BorderLayout.NORTH); 
          */
          //Tabs not getting displayed if I add the code below with GBLayout
          JPanel panel = new JPanel(new GridBagLayout());
          this.getContentPane().add(panel);
  
          JLabel label = new JLabel("Form");
  
          JPanel tableButtonPanel = new JPanel();
          tableButtonPanel.add(new JButton("Add Thing"));
          tableButtonPanel.add(new JRadioButton("Delete Thing"));
          tableButtonPanel.add(new JButton("Modify Thing"));
  
          GridBagConstraints gbc = new GridBagConstraints();
  
          gbc.gridx = 0;
          gbc.gridy = 0;
          panel.add(label, gbc);
  
          gbc.gridx = 0;
          gbc.gridy = 2;
          panel.add(tableButtonPanel, gbc);
  
      }
  
      public void createPage2()
      {
          breakfast = new JPanel();
          breakfast.setLayout( new BorderLayout() );
          breakfast.add( new JButton( "North" ), BorderLayout.NORTH );
          breakfast.add( new JButton( "South" ), BorderLayout.SOUTH );
          breakfast.add( new JButton( "East" ), BorderLayout.EAST );
          breakfast.add( new JButton( "West" ), BorderLayout.WEST );
          breakfast.add( new JButton( "Center" ), BorderLayout.CENTER );
      }
  
  public static void main(String args[]) {
  
          Tryout ex = new Tryout();
          ex.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          ex.setSize(750,750);
          ex.setVisible(true);
          ex.setTitle( "Recipe Tracker" );
          ex.setBackground( Color.gray );
  
      }
  }
  </code></pre>