@Override
		public void paint(Graphics g)
		{
			g.setColor(Color.BLACK);
			g.fillRect(0,0,getWidth(),getHeight());
			Rectangle r = g.getClipBounds();
			g.setColor(Color.WHITE);
			g.fillRect(r.x,0,KEYLENGTH,getHeight());
			g.setColor(Color.BLUE);
			for (int y = 0, keyIndBase = 0; y < getHeight(); y += BARHEIGHT * 12, keyIndBase += 12)
			{
				for (int yy = y, yo = 0; yo < octaveKeys.length; yy += octaveKeys[yo++])
					reJava.Draw.drawLightKey(g,r.x,yy,KEYLENGTH,octaveKeys[yo],
							(keyIndBase + lightKeyNum[yo] == highlightedKey),
							(keyIndBase + lightKeyNum[yo] == depressedKey),2);
				int yy = y + BARHEIGHT;
				for (int i = 0; i < 3; ++i, yy += BARHEIGHT * 2)
					reJava.Draw.drawDarkKey(g, r.x,yy,DARKKEYLENGTH,BARHEIGHT,
							(keyIndBase + darkKeyNum[i] == highlightedKey),
							(keyIndBase + darkKeyNum[i] == depressedKey),2,2,4,2);
				yy += BARHEIGHT;
				for (int i = 0; i < 2; ++i, yy += BARHEIGHT * 2)
					reJava.Draw.drawDarkKey(g, r.x,yy,DARKKEYLENGTH,BARHEIGHT,
							(keyIndBase + darkKeyNum[i+3] == highlightedKey),
							(keyIndBase + darkKeyNum[i+3] == depressedKey),2,2,4,2);
			}
		}