public void paintComponent(Graphics g) {
		
		// Draw a rect around the whole thing
		g.fillRect(0, 0, getWidth()-1, getHeight()-1);
		
		
		// Draw the line separating the top
		int spacerY = yPixel(tc.displayBoard.getHeight() - TetrisController.TOP_SPACE - 1);
		g.setColor(Color.WHITE);
		g.drawLine(0, spacerY, getWidth()-1, spacerY);		
		
		// Factor a few things out to help the optimizer
		final int dx = Math.round(dX()-2);
		final int dy = Math.round(dY()-2);
		final int bWidth = tc.displayBoard.getWidth();

		int x, y;
		// Loop through and draw all the blocks
		// left-right, bottom-top
		for (x=0; x<bWidth; x++) {
			int left = xPixel(x);	// the left pixel
			
			// draw from 0 up to the col height
			final int yHeight = tc.displayBoard.getColumnHeight(x);
			for (y=0; y<yHeight; y++) 
                        {
				if (tc.displayBoard.getGrid(x, y)) 
                                {
					g.setColor(tc.displayBoard.colorGrid[x][y]);
					g.fillRect(left+1, yPixel(y)+1, dx, dy);
					
				}
			}
		}
	}