public CustomPanel(int row, int col, Player p1, Player p2, TicTacToeBoard state) {
		location = new Position();
		
		location.row = row;
		location.col = col;
		chosen = false;
		player1 = p1;
		player2 = p2;
		turnState = state;
		
		addMouseListener(
				new MouseAdapter() {
					/**
					 * This is the mouseClicked event handler. It passes information
					 * about which JPanel was chosen to the appropriate human player.
					 * @param event The reference to the MouseEvent information 
					 */
					public void mouseClicked (MouseEvent event) {
						if(!CustomPanel.this.chosen) {
							if((turnState.getTurn() == TicTacToeBoard.PLAYER_X) && 
									(player1.getPlayerType() == Player.HUMAN_PLAYER)) {
								((Human)player1).setChosenSquare(location.row, location.col);
								CustomPanel.this.chosen = true;
							}
							else if((turnState.getTurn() == TicTacToeBoard.PLAYER_O) && 
									(player2.getPlayerType() == Player.HUMAN_PLAYER)) {
								((Human)player2).setChosenSquare(location.row, location.col);
								CustomPanel.this.chosen = true;
							}
						}
					}
				}
			);
	}