title: Java- Cannot find symbol (swing)
body: <p>I have a Simon game that I'm working on, and I've been debugging for a while before moving on to finish. Just this one error left so far; Compiler (NetBeans IDE rather) reporting error; specifically "Cannot find symbol MenuPanel ; Class: BorderPanel". I know it is not within this class, but I'm not entirely sure how where to point it to. Relevant code below:</p>
  
  <pre><code>package simon;
  
  import java.util.*;
  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;
  import java.awt.Color.*;
  
  
  /**
   *  Main Class
   * @author Chris Mailloux
   */
  public class Simon
  {
      // Variable declarations.
      public static final String[] colors = {"Green", "Red", "Yellow", "Blue"};
      public static ArrayList&lt;String&gt; pattern = new ArrayList&lt;String&gt;();
      public static int currentScore = 0;
      public static int iterator = 0;
      public static boolean isPlayerTurn = false;
      // PLACEHOLDER FOR HIGHSCORE RETRIEVAL FROM FILE
      public static int highScore = 0; // TEMPORARY
  
      public static void main (String[] args)
      {
          GameWindow window = new GameWindow();
          window.setVisible(true);
          window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }
  }
  
  /**
   * Class for main game window.
   * @author Chris
   */
  class GameWindow extends JFrame
  {
      GameWindow()
      {
          // Set basic properties of frame.
          setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
          setTitle("Simon");
          setResizable(true);
          setLocation(DEFAULT_HORIZONTAL_LOCATION, DEFAULT_VERTICAL_LOCATION);
          // PLACEHOLDER FOR IMAGE ICON
  
          // Adding Menu Panel
          MenuPanel menuPanel = new MenuPanel();
          add(menuPanel);
  
          // Adding buttons panel.
          ButtonsPanel buttonsPanel = new ButtonsPanel();
          add(buttonsPanel);
  
          // Adding Border layout helper panel.
          BorderPanel borderPanel = new BorderPanel();
          add(borderPanel);
  
          // Setting grid layout (with spaces)
          buttonsPanel.setLayout(new GridLayout(2, 2, 20, 20)); 
  
          // Setting background color of main panel to black.
          buttonsPanel.setBackground(Color.black);
      }
      // Declaring window positioning constants.
      public static final int DEFAULT_WIDTH = 800;
      public static final int DEFAULT_HEIGHT = 800;
  
      // TEMPORARY PLACEHOLDER FOR SCREENSIZE CALCULATIONS
      public static final int DEFAULT_HORIZONTAL_LOCATION = 0;
      public static final int DEFAULT_VERTICAL_LOCATION = 0;
  }
  
  /**
   * Class to hold the buttonsPanel
   * @author Chris
   */
  class ButtonsPanel extends JPanel
  {
      public static JButton greenButton = new JButton();
      public static JButton redButton = new JButton();
      public static JButton yellowButton = new JButton();
      public static JButton blueButton = new JButton();
  
      ButtonsPanel()
      {
         // Setting background color of buttons.
         greenButton.setBackground(Color.GREEN);  // NEED COLOR CONSTANTS
         redButton.setBackground(Color.RED);  
         yellowButton.setBackground(Color.YELLOW);    
         blueButton.setBackground(Color.BLUE);
  
         // Add buttons to panel. (In order)
          add(greenButton);
              add(redButton);
          add(yellowButton);
              add(blueButton);
  
         // Creating ActionListeners for 4 main buttons.
          ActionListener greenAction = new ActionListener()
          {
              public void actionPerformed(ActionEvent event)
              {
                  greenClicked();
              }
          };
  
          ActionListener redAction = new ActionListener()
          {
              public void actionPerformed(ActionEvent event)
              {
                  redClicked();
              }
          };
  
          ActionListener yellowAction = new ActionListener()
          {
              public void actionPerformed(ActionEvent event)
              {
                  yellowClicked();
              }
          };
  
          ActionListener blueAction = new ActionListener()
          {
              public void actionPerformed(ActionEvent event)
              {
                  blueClicked();
              }
          };
  
              // Associate actions with buttons.
          greenButton.addActionListener(greenAction);
          redButton.addActionListener(redAction);
          yellowButton.addActionListener(yellowAction);
          blueButton.addActionListener(blueAction);
      }
  
          // Handling button activations.
          public static void greenClicked()
          {
              // TODO
          }
  
          public static void redClicked()
          {
              // TODO
          }
  
          public static void yellowClicked()
          {
              // TODO
          }
  
          public static void blueClicked()
          {
              // TODO
          }
  }
  /**
   * Menu buttons panel.
   * @author Chris Mailloux
   */
  class MenuPanel extends JPanel
  {
      public MenuPanel()
      {
          setBackground(Color.BLACK);
  
          // Menu panel buttons.
          JButton startButton = new JButton("Start");
          JButton scoreDisplay = new JButton(String.valueOf(Simon.currentScore));
          JButton highScoreDisplay = new JButton(String.valueOf(Simon.highScore));
          add(startButton);
          add(scoreDisplay);
          add(highScoreDisplay);
          scoreDisplay.setBackground(Color.BLACK);
          highScoreDisplay.setBackground(Color.BLACK);
          startButton.setBackground(Color.BLUE);
          scoreDisplay.setEnabled(false);
          scoreDisplay.setEnabled(false);
          // ActionListeners for menu buttons.
          ActionListener startButtonAction = new ActionListener()
          {
              public void actionPerformed(ActionEvent event)
              {
                  Game.startGame();
              }
          };
          startButton.addActionListener(startButtonAction);
      }
   }
  
  /**
   * Border Panel support class.
   * @author Chris Mailloux
   */
  class BorderPanel extends JPanel
  {
      BorderPanel()
      {
          setLayout(new BorderLayout());
          add(menuPanel, BorderLayout.NORTH);
      }
  }
  /**
  * Main game logic class.
  * @author Chris
  */
  class Game extends Simon // Extends to allow to inherit variables.
  {
  // Resets variables for new game.
  public static void startGame()
  {
      isPlayerTurn = false;
      pattern.clear();
      currentScore = 0;
      iterator = 0;
      gamePlay(); // Starts game
  }
  
  public static void gamePlay()
  {
      if (isPlayerTurn = false)
      {
          computerTurn();
      }
      else
      {
          playerTurn();
      }
  }
  
  public static void computerTurn()
  {
      ButtonsPanel.greenButton.setEnabled(false);
      ButtonsPanel.redButton.setEnabled(false);
      ButtonsPanel.yellowButton.setEnabled(false);
      ButtonsPanel.blueButton.setEnabled(false);
      iterator = 0; // So CPU can use iterator to show pattern.
      int randInt = (int) Math.random() * 4;
      String randColor = colors[randInt];
      pattern.add(new String(randColor));
      showPattern();
  }
  
  public static void playerTurn()
  {
      iterator = 0;
      ButtonsPanel.greenButton.setEnabled(true);
      ButtonsPanel.redButton.setEnabled(true);
      ButtonsPanel.yellowButton.setEnabled(true);
      ButtonsPanel.blueButton.setEnabled(true);
  }
  
  /**
   * Handles scoring and checks inputs for correctness.
   * @author Chris Mailloux
   */
  public static void check()
  {
      if(lastInput == pattern.get(iterator))
      {
          iterator++;
          if(iterator &gt; currentScore)
          {
              currentScore++;
              if(currentScore &gt; highScore)
              {
                  highScore++;
                  // PLACEHOLDER TO WRITE HIGHSCORE TO FILE.
              }
          }
      }
      else
      {
          gameOver();
      }
  }
  
  public static void showPattern()
  {
      int j = 0;
      while (j &lt; pattern.size())
      {
          String showerHelper = pattern.get(j); // Helper variable.
          switch (showerHelper)
          {
              case "Green" : ButtonsPanel.greenClicked();
              case "Red" : ButtonsPanel.redClicked();
              case "Yellow" : ButtonsPanel.yellowClicked();
              case "Blue" : ButtonsPanel.blueClicked();
              break; // Fallthrough handler.
              default: System.out.println("Error: Invalid value for pattern"
                      + " ArrayList, or improper storage of variable in the"
                      + " showerHelper variable.");
          }
          j++;
      }
  }
  
      public static void gameOver()
      {
          // TODO
      }
  }
  </code></pre>