I came across a problem when using a GUI Java program under Xmonad, the interface was unusable. If I understand correctly it is because Java windows need to have a name, and that condition fail under most Window Managers.
Anyway, the solution is to add these two lines to your xmonad.hs1 :
import XMonad.Hooks.SetWMName
= setWMName "LG3D" startupHook