private void setupUI() {
		
		/*	Creates a draw panel that has a background, we do all our drawing on here */ //http://stackoverflow.com/questions/10961023/move-a-jlabel-to-front
		drawPanel = new DrawPanel();
		drawPanel.setLayout(null);
		try {
			// Pretty much the cleanest way I've seen this done...
			drawPanel.setBackgroundImage(new ImageIcon(ImageIO.read(getClass().getResource("resources/mainBackground.png"))).getImage());
		} catch (IOException e) {
			e.printStackTrace();
		}
		setCursor(CURSOR_HAND,false); //set cursor, do not wait
		drawPanel.setPreferredSize(new Dimension(520, 480));
		drawPanel.setMaximumSize(new Dimension(520, 480));
		
		/*	Creates a credits panel */
		creditsPanel = new DrawPanel();
		creditsPanel.setLayout(null);
		try {
			// Pretty much the cleanest way I've seen this done...
			creditsPanel.setBackgroundImage(new ImageIcon(ImageIO.read(getClass().getResource("resources/creditsPanel.png"))).getImage());
		} catch (IOException e) {
			e.printStackTrace(); // This doesn't print the error correctly...
		}
		creditsPanel.setPreferredSize(new Dimension(520, 480));
		creditsPanel.setMaximumSize(new Dimension(520, 480));
		creditsPanel.addMouseListener(new MouseListener(){ //glass pane window for credits
			@Override
			public void mouseClicked(MouseEvent arg0) {
				getGlassPane().setVisible(false);
			}
			@Override
			public void mouseEntered(MouseEvent e) {}
			@Override
			public void mouseExited(MouseEvent e) {}
			@Override
			public void mousePressed(MouseEvent e) {}
			@Override
			public void mouseReleased(MouseEvent e) {}
		});
		setGlassPane(creditsPanel);
		getGlassPane().setVisible(false);
		
		/* Set the application icon [windows only]*/
		ArrayList<Image> icons = new ArrayList<Image>(3);
		try {
			icons.add(new ImageIcon(ImageIO.read(getClass().getResource("resources/icon32.png"))).getImage());
			icons.add(new ImageIcon(ImageIO.read(getClass().getResource("resources/icon16.png"))).getImage());
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		setIconImages(icons);

		/* Creates a directions/status panel at the bottom */
		JPanel directionsPanel = new JPanel();
		directionsPanel.setLayout(new BoxLayout(directionsPanel,BoxLayout.LINE_AXIS));
		directionsPanel.add(Box.createHorizontalGlue());
		directionsLabel = new JLabel("Select new game from the actions menu to start a new game.");
		directionsLabel.setHorizontalAlignment(SwingConstants.CENTER); // Centers the text
		directionsLabel.setForeground(Color.WHITE);
		directionsPanel.add(directionsLabel);
		directionsPanel.add(Box.createHorizontalGlue());
		directionsPanel.setBackground(new Color(32,21,6));
		
		
		//Draw circles to look like pieces. These pieces however will do nothing, as this is the title screen.
		pieces = new GamePieceButton[3][8];
		snapCoordinates = coordinates.getSnapCoordinates();		
		for(int r = 0; r < 3; r++){
			for(int p = 0; p < 8; p++){
				Point pt = snapCoordinates[r][p];
				pieces[r][p] = new GamePieceButton(new GamePiece(r,p), this);
				pieces[r][p].setBounds(pt.x-15, pt.y-15, 30, 30); //this draws from the top left. snap coordinates returns the centerpoint so move a radius up-left to make it draw properly
				pieces[r][p].setMode(GamePieceButton.DEMO_MODE);				
				pieces[r][p].addActionListener(this);
				drawPanel.add(pieces[r][p]);
			}
		}
		add(drawPanel);												// Add it to the main Frame
		//add(creditsPanel);
		add(directionsPanel, BorderLayout.SOUTH);
	}