Как использовать MouseListener, чтобы найти определенную ячейку в сетке

Я пытаюсь создать Java-игру с сеткой 10 х 10, состоящей из ячеек. Сетка выглядит так:

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 < GRID_SIZE; x++)
            for (int y = 0; y < GRID_SIZE; y++)
                add(new Cell(x, y));
        addMouseListener(this);
    }

// All Mouse Listener methods are in here.

Класс Cell выглядит следующим образом:

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.

Моя проблема в том, что я сейчас пытаюсь реализовать MouseListeners в классе Grid. Я понял, что пока я могу вернуть координаты X и Y таблицы, я могуКажется, они сами манипулируют клетками. Я предполагаю, что это потому, что когда я создал их в Grid, я создаю 100 случайных ячеек без идентификаторов, и поэтому у меня нет возможности получить к ним прямой доступ.

Кто-нибудь может дать мне совет по этому поводу? Нужно ли пересматривать мой код и способ создания ячеек? Я ужасно глуп, и мне не хватает очевидного способа получить к ним доступ? Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос