public void run(){
			Scanner uScan;
			String sMsg;
			String sStatus = "";
			String sPrevStatus = "";
			
			while(true){
				//Check to see if the player is in an active game:
				uScan = new Scanner(Client.sendMsg("GET_PLAYER_STATUS"));
				uScan.next();
				sStatus = uScan.next();
				if(sStatus.equals("ACTIVE") && sPrevStatus.equals("WAITING")){
					new GameUI();
					dispose();
				}
				sPrevStatus = sStatus;
				
				
			//Update the list boxes every second:
				//Thread.sleep(1000);
				//Update the players in game:
					//Get the game index:
					sMsg = Client.sendMsg("GET_PLAYER_GAME_INDEX");
					if(sMsg.equals("GET_PLAYER_GAME_INDEX FAILURE")){
						continue;
					}
					uScan = new Scanner(sMsg);
					uScan.next();
					int nGameIndex = uScan.nextInt();
					if(nGameIndex < 0){
						continue;
					}
					sMsg = Client.sendMsg("GET_GAME_AVAILABLE_NUM_PLAYERS " + nGameIndex);
					if(sMsg.equals("GET_GAME_AVAILABLE_NUM_PLAYERS FAILURE")){
						continue;
					}
					vPlayersInGameUsernames.clear();
					vPlayersInGameCharacters.clear();
					uScan.close();
					uScan = new Scanner(sMsg);
					uScan.next();
					int nNumPlayersInGame = Integer.parseInt(uScan.next());
					uScan.close();
					for(int i=0; i<nNumPlayersInGame; i++){
						sMsg = Client.sendMsg("GET_GAME_AVAILABLE_PLAYER " + nGameIndex + " " + i);
						if(sMsg.equals("GET_GAME_AVAILABLE_PLAYER FAILURE")){
							continue;
						}
						uScan = new Scanner(sMsg);
						uScan.next();
						vPlayersInGameUsernames.add(uScan.next());
						vPlayersInGameCharacters.add(uScan.next());
						uScan.close();
					}
					populateListStrings(uModelPlayersInGame, vPlayersInGameUsernames, vPlayersInGameCharacters);
			}
		}