@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("Undo")) {
			((ShapeMaker) frame).getShapeDrawer().undo();
		} else if (e.getActionCommand().equals("Redo")) {
			((ShapeMaker) frame).getShapeDrawer().redo();
		} else if (e.getActionCommand().equals("Finish")) {
			System.out.println("Finish");
			((TextMaker) frame).setVisible(false);

			RenderableObject text = ((TextMaker) frame).getText();

			if (((TextMaker) frame).getParentFrame().getModfiedLoc() == null) {
				text.setLocation(((TextMaker) frame).getParentFrame()
						.getClickLocation());
			} else {
				text.setLocation(((TextMaker) frame).getParentFrame()
						.getModfiedLoc());
				((TextMaker) frame).getParentFrame().setModfiedLoc(null);
			}

			((TextMaker) frame).getParentFrame().getWorld().add(text);
		} else if (e.getActionCommand().equals("Set Color")) {
			Color newColor = JColorChooser.showDialog(frame, "Select Color",
					((TextMaker) frame).getColor());
			((TextMaker) frame).setColor(newColor);
		} else if (e.getActionCommand().equals("Set Font")) {
			Font currentFont = ((TextMaker) frame).getCurrentFont();
			currentFont = JFontChooser.showDialog(frame, "Pick a Font",
					currentFont);
			((TextMaker) frame).setCurrentFont(currentFont);
		}
	}