We're all borderline bums so we don't have real work.
I know that. I'm in the same category!!
Anyway, those UI's looked good. It's not impossible to come up with a good UI in Java. The question is how easy is it?
One complaint which Java devs have of Swing (Java GUI) is that GUI components like Buttons etc have to be placed within containers and stuff. It is not possible to place components at absolute positions on the screen. Everything has to be relative to other components. How is it in .NET?
I can't claim to have used many Java client apps. The only one I have used is Forte by Sun. It was an alright experience - not bad, but definitely could be better. It just felt like the app was out of place in Windows.
In Java there exists a concept called LookAndFeel (laf). laf is like a theme/skin. So a skin can be applied to a GUI like Motif, Windows, Metal. As of now Metal is the default cross platform laf. A few more lines of code have to be written to apply the native laf. In Java 1.5 the Win XP and Red Hat laf's have been added.
Is it possible to create a java desktop application that w/o any change will work on any platform?
Simple answer - YES. Any Java app is cross-platform. Unless some native libraries are used, which is very very rare.