public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D g2d = (Graphics2D) g;

		// Draw the ghost Tetromino
		g2d.setColor(Color.LIGHT_GRAY);
		for (Point p : myWorld.generateGhostBlockCoordinates()) {
			g2d.drawRect(p.x * blockSize + 3, p.y * blockSize + 3,
					blockSize - 6, blockSize - 6);
		}

		// Draw each Block
		IIterator iter = (myWorld.getBlockCollection()).getIterator();
		while (iter.hasNext()) {
			(iter.getNext()).draw(g2d);
		}
		Color lastColor = g2d.getColor();

		// Draw the board
		g2d.setColor(Color.DARK_GRAY);
		for (int i = 0; i <= boardSizeY; i++) {
			g2d.drawLine(0, i * blockSize, boardSizeX * blockSize, i
					* blockSize);
		}
		for (int i = 0; i <= boardSizeX; i++) {
			g2d.drawLine(i * blockSize, 0, i * blockSize, boardSizeY
					* blockSize);
		}

		// Tint the board if paused
		if (!myWorld.getPlayStatus()) {
			g2d.setColor(new Color(lastColor.getRed(), lastColor.getGreen(),
					lastColor.getBlue(), 50));
			g2d.fillRect(1, 1, boardSizeX * blockSize - 1, boardSizeY
					* blockSize - 1);
			g2d.setColor(Color.WHITE);
			g2d.drawString("Paused", boardSizeX * blockSize - 55, 20);
		}
	}