Turns out it is working but not necessarily as you would expect.
If the cursor is changed and changed back to default within a function block, the cursor on screen will not actually change. Simply inserting Sleep(0) after the first command did not seem enough to allow java to actually change the cursor but maybe because the delay between the two commands is too short at the moment.
Is there another way to force the screen to be redrawn with the new cursor?
PS: I changed the Sleep(0) to Sleep(500) and definitely the cursor changes
I call this victory!