@Override
	protected void buildActions() {
		super.buildActions();
		
		btnAddNew.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				clickSaveButton();	
			
				setPanelPerson(null, true);
			}

		});

		btnGenID.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				User u = new User();
				try {
					u.setFirstName(tfFirstName.getText().trim());
					u.setLastName(tfLastName.getText().trim());
				} catch (InvalidFieldException ex) {
					setExceptionError(ex);
					return;
				}
				GameData g = GameData.getCurrentGame();
				List<Person> userList = Utils.castListElem(g.getAllUsers(),
						(Person) (new User())); // lol so ugly.

				String id = Utils.generateID(u, userList);

				tfID.setText(id);
			}
		});
		
		cbUltPick.addItemListener(cbListener);
		cbWeeklyPick.addItemListener(cbListener);

		List<JTextField> tfArr = Arrays.asList(tfID, tfFirstName, tfLastName);
		for (JTextField tf : tfArr) {
			tf.addFocusListener(editAdapt);
		}
	}