public void paint(Graphics g){
		this.setDoubleBuffered(true);
		Insets in = getInsets();               
		g.translate(in.left, in.top);            

		//int[][] gameboard = logic.getGameBoard();
		int cols = gameBoard.length;
		int rows = gameBoard[0].length;

		for (int c = 0; c < cols; c++){
			for (int r = 0; r < rows; r++){
				int player = gameBoard[c][r];
				if(player == 0) // background
					g.drawImage(background, 100+100*c, 100+100*r, this);
				else if (player == 2) // red = player2
					g.drawImage(redPion, 100+100*c, 100+100*r, this);
				else // blue = player1
					g.drawImage(bluePion, 100+100*c, 100+100*r, this);
				g.drawImage(part, 100+100*c, 100+100*r, this);
				if(c == 0){
					g.drawImage(border_left, 0, 100+100*r, this); 
					g.drawImage(border_right, cols*100+100, 100+100*r, this); 
				}
			}
			g.drawImage(border_top, 100+100*c, 0, this);
			if ( c == chosenColumn)
				g.drawImage(arrow_active, 100+100*c, 10, this);
			else 
				g.drawImage(arrow, 100+100*c, 10, this);
			g.drawImage(border_bottom, 100+100*c, rows*100+100, this);
		}
		g.drawImage(corner_left_top, 0, 0, this);
		g.drawImage(corner_left_bottom, 0, rows*100+100, this);
		g.drawImage(corner_right_top, 100+100*cols, 0, this);
		g.drawImage(corner_right_bottom, 100+100*cols, rows*100+100, this);

		if (winner == IGameLogic.Winner.PLAYER1)
			g.drawImage(blueWon, cols*100/2-50, rows*100/2+25, this);
		else if (winner == IGameLogic.Winner.PLAYER2)
			g.drawImage(redWon, cols*100/2-50, rows*100/2+25, this);
	}