But one thing you have to watch out for is to use a system independent look and feel so your GUI won't look different from one system to the next.
Min, why do you think this is necessary?
The whole point of the "System" L&F is so that your app looks like a native app on any platform.
That is what I used and it was perfectly fine.
Umm I won't be supprised if they test your assignments on different platforms to iron out problems with code that is platform dependent. eg, threading has a lot of those... hmm maybe that is why ppl score 44/80...? If I were you I would test it on Linux as well Better safe than sorry.
I think you cannot install the Linux JDK into Cygwin (but I am not sure - you could try, I guess).
If you are writing threading code that depends on a platform dependent thread scheduler it's a better idea to first go read a Threads tutorial than test Plus, as Andrew says, testing on Cygwin isn't going to help you in that respect.