I am currently making a "Super Tic-Tac-Toe" application in Java. Here is a description of what I am aiming for. http://mathwithbaddrawings.com/ultimate-tic-tac-toe-original-post. However I am having problems updating the Jframe on click. My application is made of individual cells (JLabels) that make up the Tic-Tac-Toe boards (JPanels) which will reside in a JFrame.
My problem is that using getSource on MouseClick will only get me as seep as my JPanel, and I cannot access which cell of the tic-tac-toe grid was pressed. Is there a way to check which one is pressed with my current method of organizing this project?
Here is My Code for viewing a ticTacToe Board that contains the listener:
public class TicTacToeView extends JPanel {
    public CellView[][] cv;
    public TicTacToe ttt;
    public TicTacToeView(TicTacToe t) {
        int rows = 3;
        int columns = 3;
        cv = new CellView[3][3];
        ttt = t;
        setSize(3 * 64, 3 * 64);
        setBackground(Color.white);
        setLayout(new GridLayout(rows, columns));
        setVisible(true);
        setFocusable(true);
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j ++) {
                System.out.println(ttt.getCellAt(i, j).toString());
                cv[i][j] = new CellView(ttt.getCellAt(i, j));
                cv[i][j].addMouseListener(new yourListener());
                add(cv[i][j]);
            }
        }
        setVisible(true);
    }
    public String toString() {
        return ttt.toString();
    }
    public class yourListener extends MouseAdapter{ 
        public void mouseClicked(MouseEvent e){
            CellView labelReference=(CellView)e.getSource();
            Cell cellClicked = labelReference.getCell();
            System.out.println(cellClicked.getCol() +"," + cellClicked.getRow());
            cellClicked.setState(CellState.O);
            ttt.setCellAt(cellClicked.getCol(), cellClicked.getRow(), CellState.O);
            System.out.println(ttt.toString());
       }
    }
}
Right now when i System.out it changes the correct cell to O as expected. But I don't know how I would update the frame from here as the gameFrame is made out of this.
                        
First of all, stop using a separate class for the
MouseListener, this is the source of your problem. Directly add a mouse listener tocv[i][j]. You will be able to update your frame because now the mouse listener is also in the same class.Cheers.