I wonder what the problem is: Just write your own mouse pointer. Have a look at unreal tournament and co. this approach gives you much more flexibility and you can use it the same way in fullscreen and windowed mode.
and (sorry endolf i think you're reading this a hundred times now
) in linux you can easily have multiple mouse pointers controlled by different mice.
the only thing you should now worry is how to make the 'real' mouse cursor invisible. but thats an easy one as well: just have a look at java.awt.Toolkit.createCustomCursor() and java.awt.Component.setCursor().