public void paint (Graphics g) {
		// Oldest line first
		int count=0,pos=20,i=displayCounter+1;
		// Check it hasn't reached its maximum size
		if (i>=DISPLAYCOUNT) i=0;
		Graphics2D g2D=(Graphics2D)g;	
		// Draw in the lines on the screen
		// taking account of the fact that the data is stored in a circular buffer
		// we need to display the oldest line stored first and then go backwards from
		// that point onwards
		while(count<DISPLAYCOUNT)	{
			// Only display info if something is stored in the display string
			if (displayString[i]!=null)	{
				g.setColor(displayColour[i]);
				g.setFont(displayFont[i]);
				g2D.drawString(displayString[i].toString(),(5-theApp.horizontal_scrollbar_value),(pos-theApp.vertical_scrollbar_value));	
				pos=pos+20;
			}	
			i++;
			if (i==DISPLAYCOUNT) i=0;
			count++;
		}	
		// Detect if the last line written was outside the current viewing area
		if ((theApp.isAutoScroll()==true)&&(theApp.isAdjusting()==false))	{
			if ((pos-theApp.vertical_scrollbar_value)>theApp.getCurrentHeight())	{
				theApp.scrollDown(pos);
				repaint();
			}
		}
		
	}