protected void paintComponent(Graphics g)
	{
		super.paintComponent(g);
		cursorPosition += translation;

		if ((translation == -1 * translationUnit && cursorPosition < cursorGoal)
				|| (translation == translationUnit && cursorPosition > cursorGoal))
			cursorPosition = cursorGoal;

		int rectPosition = 0;

		for (int x = 1; x <= maxExponent; x++)
		{
			g.setColor(backgroundColour);
			g.fillRect(rectPosition, 0, unitWidth, beamHeight);
			rectPosition += unitWidth;
		}

		int beadDiameter = unitWidth / 2;

		int beadY = (beamHeight * 2 > unitWidth ? (beamHeight - beadDiameter) / 2 : 0);

		g.setColor(beadColour);
		g.fillOval(cursorPosition, beadY, beadDiameter, beadDiameter);

	}