private void updatePlayerList()
	{
		playerList.removeAll();
		playerList.setLayout(new GridLayout(playerNumber,1));
		PlayerInfo[] freshInfos = new PlayerInfo[playerNumber];
		for(int i = 0; i < playerNumber; i++)
		{
			if(i+1 > infos.length)
			{
				PlayerInfo info = new PlayerInfo();
				playerList.add(info.getPanel());
				freshInfos[i] = info;
			}
			else
			{
				playerList.add(infos[i].getPanel());
				freshInfos[i] = infos[i];
			}
		}
		
		infos = freshInfos;
		
		Thread t = new Thread() {

	        public void run () {
					try {
						SwingUtilities.invokeAndWait(new Runnable() {

						    public void run () {
								frame.pack();
								frame.revalidate();
						    }
						});
					} catch (InvocationTargetException e) {
						e.printStackTrace();
					} catch (InterruptedException e) {
						e.printStackTrace();
					} 
	        }
	    };
	    t.start();
	}