protected void paintComponent(final Graphics g) {
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D) g;
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
				RenderingHints.VALUE_ANTIALIAS_ON);

		g2.setColor(Color.WHITE);
		//---- Position determination ----------
		
		int xCenter = this.getWidth() / 2;
		int yCenter = this.getHeight() / 2;
		
		//---- lines ---------------------------

		if (cell.getX() != 0) {
			Line2D.Double line = new Line2D.Double(xCenter - LINESTART, 
					yCenter, xCenter - LINEEND, yCenter);
			g2.draw(line);
		}
		if (cell.getX() != 4) {
			Line2D.Double line = new Line2D.Double(xCenter + LINESTART, 
					yCenter, xCenter + LINEEND, yCenter);
			g2.draw(line);
		}
		if (cell.getY() != 0) {
			Line2D.Double line = new Line2D.Double(xCenter, 
					yCenter - LINESTART, xCenter, yCenter - LINEEND);
			g2.draw(line);
		}
		if (cell.getY() != 4) {
			Line2D.Double line = new Line2D.Double(xCenter, 
					yCenter + LINESTART, xCenter, yCenter + LINEEND);
			g2.draw(line);
		}
		//---- center point --------------------
		
		Ellipse2D.Double circle = new Ellipse2D.Double(
				xCenter - 1.25,
				yCenter + 1.25, 
				5, 5);
		g2.fill(circle);
		g2.draw(circle);
		
		//---- Pieces --------------------------
		
		if (cell.getPieces() != null) {
			for (Piece piece : cell.getPieces()) {
				if (piece != null) {
					
					PiecePainter paint = new PiecePainter();
					paint.paintComponent(g2, piece, this.getWidth());
					
				}
				
			}
		}
		

	}