I've recently become interested in using Java for cross-platform development including Win32. Here are the advantages and disadvantages of Java for the type of projects I commonly encounter. Note that this analysis represents my state of thinking in April 1998. I haven't revisited the market and technical issues since then, so some of this may be a bit out of date. Multiple vendor support.
Sockets programming is a dream.
I recognize the flexibility of this approach and its usefulness in a cross-platform environment, but my gut just flips when I have to figure out how to nest all those Panels. Yes, it is a little slow at runtime compared to native code. There's no built-in database support to speak of. The JDK is still a moving target. You can't use the JDK 1.1 event model for applets in wide production because Netscape 4 isn't stable enough and Netscape 3 doesn't even support JDK 1.1.