public void paintComponent(Graphics g)
	{
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D) g;		
		for(int id = 0; id < shapes.size(); id++)
		{
			GradientPaint p = null;
			if(select+1 == id)
				p = new GradientPaint(0,0,Color.GREEN,900,0,Color.BLUE);
			else
				p = new GradientPaint(0,0,Color.LIGHT_GRAY,800,0,Color.DARK_GRAY);
			g2.setPaint(p);
			g2.fill(shapes.get(id));
			if(id > 0)
			{
				g2.setColor(Color.BLACK);
				g2.draw(shapes.get(id));
			}
		}
		Font font = new Font("Serif", Font.BOLD, 30);
		Font font2 = new Font("Serif", Font.BOLD, 20);
		g2.setFont(font);
		FontRenderContext frc = g2.getFontRenderContext();
		GlyphVector gv = font.createGlyphVector(frc, s[0]);
		Shape glyph = gv.getOutline(350,130);
		g2.draw(glyph);
		String[] str = getKeyStrings();
		for(int i = 0; i < 4; i++)
		{
			gv = font.createGlyphVector(frc, s[i+2]);
			GlyphVector gv2 = font.createGlyphVector(frc, str[i]);
			glyph = gv.getOutline(250,230+i*70);
			Shape glyph2 = gv2.getOutline(500,230+i*70);
			g2.draw(glyph);
			g2.draw(glyph2);
			g2.setFont(font2);
			if(select == i)
			{
				if(frame.isKeybinding())
					gv = font2.createGlyphVector(frc, "please select a key");
				else
					gv = font2.createGlyphVector(frc, "to change press "+getKeyString(frame.getEnterKey()));
				glyph = gv.getOutline(230,257+i*70);
				g2.draw(glyph);
			}
			if(select == 2)
			{
				gv = font2.createGlyphVector(frc, s[1]);
				glyph = gv.getOutline(555,397);
				g2.draw(glyph);
			}
			if(select == 3)
			{
				gv = font2.createGlyphVector(frc, s[7]);
				glyph = gv.getOutline(585,467);
				g2.draw(glyph);
			}
			g2.setFont(font);
		}
		gv = font.createGlyphVector(frc, s[6]);
		glyph = gv.getOutline(400,510);
		g2.draw(glyph);
	}