title: Difficulty removing all components from a Jpanel
body: <p>G'day all, </p>
  
  <p>I am coding a main menu for a project. The menu displays properly. I have also set up ActionListeners for the three buttons on the menu. </p>
  
  <p>What I wish to do is reuse the JPanel for a new set of radio buttons when the user chooses "Start a New Game". </p>
  
  <p>However, coding ActionPerformed to remove the existing components from the JPanel has me stumped. I know removeAll is somehow important, but unfortunately NetBeans informs me I cannot call it on my mainMenu JPanel object within ActionPerformed. So i have commented it out in my code below, but left it in so you can see what I am trying to do.</p>
  
  <p>Your thoughts or hints are appreciated. </p>
  
  <p>Here is my main code:</p>
  
  <pre><code>public class Main {
  
      public static void main(String[] args) {
          MainMenu menu = new MainMenu();
          menu.pack();
          menu.setVisible(true);
      }
  }
  </code></pre>
  
  <p>Here is my mainMenu code:</p>
  
  <pre><code>import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  
      public class MainMenu extends JFrame implements ActionListener {
          JButton startNewGame = new JButton("Start a New Game");
          JButton loadOldGame = new JButton("Load an Old Game");
          JButton seeInstructions = new JButton("Instructions");
  
          public MainMenu() {
              super("RPG Main Menu");
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              JPanel mainMenu = new JPanel();
              mainMenu.setLayout(new FlowLayout());
              startNewGame.setMnemonic('n');
              loadOldGame.setMnemonic('l');
              seeInstructions.setMnemonic('i');
              startNewGame.addActionListener(this);
              loadOldGame.addActionListener(this);
              seeInstructions.addActionListener(this);
              mainMenu.add(startNewGame);
              mainMenu.add(loadOldGame);
              mainMenu.add(seeInstructions);
              setContentPane(mainMenu);
  
          }
  
          public void actionPerformed(ActionEvent evt) {
              Object source = evt.getSource();
              if (source == startNewGame) {
                  // StartNewGame code goes here
                  // mainMenu.removeAll();
              }
              if (source == loadOldGame) {
                  // LoadOldGame code goes here
              }
              if (source == seeInstructions) {
                  // Quit code goes here
              }
          }
      }
  </code></pre>