@Override
    public void actionPerformed(GUIComponent source) {
        if (source == nameButton) {
            nameInput.setEntryText("");
            nameInput.activate();
        }

        else if (source == nameInput) {
            nameButton.setText(nameInput.getEntryText());
        }

        else if (source == colorChooserButton) {
            colorChooser.setSelectedColor(colorChooserButton.getTrueColor());
            colorChooser.activate();
        }

        else if (source == colorChooser) {
            colorChooserButton.setColor(colorChooser.getSelectedColor(), false);
        }

        else if (source == numPlayersSelector) {
            numPlayersValue.setText(String.valueOf((int)Math.round(numPlayersSelector.getSliderValue()*(Game.MAX_PLAYERS - Game.MIN_PLAYERS) + Game.MIN_PLAYERS)));
        }

        else if (source == computerDifficultyButton) {
            computerDifficultyDropDown.show();
        }

        else if (source == computerDifficultyDropDown) {
            computerDifficultyButton.setText(computerDifficultyDropDown.getSelectedEntry());
        }

        else if (source == playButton) {
            this.actionPerformed();
            this.deactivate();
            Game.linkedGet().resumePlay();
        }
    }