I first used Java in 1995 to monitor and control industrial machinery over the web.
More recently, at Z, I've worked on a disk-RAID management tool using Java. I even wrote services and pop-up notifications in Java which also worked on the Mac. That was pretty cool. I was involved in GUI design of the tool as well; we used Swing and the Netbeans/Matisse IDE / GUI builder. At my most recent position I used Java to prototype a medical instrument; I wrote a JNI to talk to the I/O modules that physically interfaced to the system we controlled. I've even prototyped an audio-processing app in Java for my 9 year old's invention-fair.
I am a technical, not business J2EE programmer.
Basically all GUIs should be done in Java and as much as possible of a system should be too. This isn't widely used in embedded or medical although it could. But for everything else you win big ---more productive, more maintainable, not locked to a given platform or OS, more elegant. Plenty of advanced libraries. Well defined behavior (yes there are well behaved garbage collection strategies suitable for RTOS even.)