title: How to use MouseListener to find a specific cell in a grid
body: <p>I'm trying to create a Java game with a 10 x 10 grid made up of cells.
  The Grid looks liks this:</p>
  
  <pre><code>public class Grid extends JPanel implements MouseListener {
      public static final int GRID_SIZE = 10;
  
      public Grid() {
          setPreferredSize(new Dimension(300, 300));
          setLayout(new GridLayout(GRID_SIZE, GRID_SIZE));
  
          for (int x = 0; x &lt; GRID_SIZE; x++)
              for (int y = 0; y &lt; GRID_SIZE; y++)
                  add(new Cell(x, y));
          addMouseListener(this);
      }
  
  // All Mouse Listener methods are in here.
  </code></pre>
  
  <p>The Cell class looks like this:</p>
  
  <pre><code>public class Cell extends JPanel {
  
      public static final int CELL_SIZE = 1;
      private int xPos;
      private int yPos;
  
      public Cell (int x, int y) {
          xPos = x;
          yPos = y;
          setOpaque(true);
          setBorder(BorderFactory.createBevelBorder(CELL_SIZE));
          setBackground(new Color(105, 120, 105));
          setPreferredSize(new Dimension(CELL_SIZE, CELL_SIZE));
      }
  
      // Getter methods for x and y.
  </code></pre>
  
  <p>My issue is that I am now trying to implement the MouseListeners in the Grid class. What I have realised is that whilst I can return the X and Y coordinates of the Grid, I can't seem to manipulate the cells themselves.
  I am assuming this is because when I created them in Grid, I am creating 100 random Cells with no identifiers and so I have no way to directly access them.</p>
  
  <p>Could anybody give me advice on this? Do I need to overhaul my code and the way I am creating the cells? Am I being terribly stupid and missing an obvious way of accessing them?
  Thanks</p>