public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D)g;
		
		Rectangle2D background = new Rectangle2D.Double(0,0,DRAW_WIDTH,DRAW_HEIGHT);
		g2.setPaint(Color.white);
		g2.fill(background);
			
		
		/**
		 * draw all points on area
		 * String pointWithColor contains coordinates of dot and color
		 */
		synchronized(pointWithColor) {
			for(PointWithColor p: pointWithColor) {
				int x = p.getMouseX();
				int y = p.getMouseY();
				changeColor(p.getColor());
				dotShape = p.getShape();
	
				Ellipse2D smallEllipse = new Ellipse2D.Double(x-5,y-5,10,10);
				Ellipse2D bigEllipse = new Ellipse2D.Double(x-10,y-10,20,20);
				Rectangle2D smallSquare = new Rectangle2D.Double(x-5, y-5, 10, 10);
				Rectangle2D bigSquare = new Rectangle2D.Double(x-10, y-10, 20, 20);
				Rectangle2D dot = new Rectangle2D.Double(x, y, 2, 2);
				
				g2.setPaint(colorOfDot);
				if(dotShape.equals("smallCircle")) 
					g2.fill(smallEllipse);
				else if(dotShape.equals("smallSquare"))
					g2.fill(smallSquare);
				else if(dotShape.equals("bigCircle"))
					g2.fill(bigEllipse);
				else if(dotShape.equals("bigSquare"))
					g2.fill(bigSquare);
				else if(dotShape.equals("dot"));
					g2.fill(dot);
			}
		}
	}