public synchronized void dopaint (Graphics g)
		{	if (ShowLast)
			{	Top=V.size()-PageSize+1;
				if (Top<0) Top=0;
				ShowLast=false;
			}
			if (ListingBackground!=null) g.setColor(ListingBackground); 
			else g.setColor(getBackground());
			g.fillRect(0,0,W,H);
			g.setColor(Color.black);
			int h=Leading+Ascent;
			int totalh=getSize().height-Descent;
			int line=Top;
			if (line<0) return;
			while (line-Top<PageSize && line<V.size())
			{	Element el=(Element)V.elementAt(line);
				if (isSelected(line))
				{	g.setColor(getBackground().darker());
					g.fillRect(0,h-Ascent,W,Height);
					g.setColor(Color.black);
				}
				Color col=el.getElementColor();
				if (col!=null) g.setColor(col);
				else g.setColor(Color.black);
				g.drawString(el.getElementString(State),2-HOffset,h);
				h+=Leading+Height;
				line++;
			}
		}