Write a recursive function that takes a positive integer n and plots an N-by-N Hadamard pattern where N = 2^n
Class names in Java should start with a capital letter.
Avoid initializing two variables in the same line.
The filledSquare call is the same in the two if branches, it could be moved out of the if.  Now the two if branches only change in the argument to the setPenColor call, and you could replace it by
Color theColor = color ? WHITE : BLACK;

Now it seems like you could drop the boolean argument altogether (boolean arguments suck) and pass a Color; all you need is a function that inverts the color.
This criticism has nothing to do with recursion; I have no idea if this works correctly or not :)