public void actionPerformed(ActionEvent e) {
		if (e.getSource() == Ok) {
			// Update options that do not require a reset
			theme = (String) themeSelect.getSelectedItem();
			Game.repaintGrid();
			
			// Check options that might require a game reset
			boolean requireRestart = false;
			requireRestart = requireRestart || !difficultySelect.getSelectedItem().equals(difficulty.name());
			requireRestart = requireRestart || multipleLives != multipleLivesCheck.isSelected();
			
			Update check = Update.performCheck(this, requireRestart);
			if (check.validate) {
				// Update options that require a reset
				difficulty = Difficulty.valueOf((String)difficultySelect.getSelectedItem());
				multipleLives = multipleLivesCheck.isSelected();
			}
			if (check.restart) {
				new Game();
			}
			if (check.close) {
				this.dispose();
			}
		}
		else if (e.getSource() == Cancel) {
			this.dispose();
		}
	}