I think your logic is very sophisticated. We do not need column variable. The function can be called pattern(5,0).
What is your opinion ??
public static void pattern(int n, int row) {
for(int x = 0; x <= row; ++x)
{
System.out.print("x");
}
System.out.println("");
if( row == (n-1) )
return;
pattern(n, row+1);
}