IIRC, Java had difficulties during the late 90's and early 2000's for advanced desktop applications mostly because of performance. As time passed, although jvm implementation's performance improved, so did C++, multi-platform frameworks and other programming languages. Other phenomenons also occurred: Linux continued with a very small fraction and the desktop effectively turned into a duopoly of windows and mac and new developers shifted to web and mobile. You can clearly see that there are very few examples of new desktop packages that thrived recently, specially compared to mobile and web equivalents.
The development of the described scenario strongly devalued java's most advertised advantage, which was portability.
Swing default appearance may look alien on windows, but I remember a demonstration from a friend of mine where he turned it to native appearance with a few clicks. You can see some successful java desktop apps with native UI, one I remember is utorrent. Also, windows users are very used, specially at the time, to inconsistent appearance. So, I don't think default appearance on windows had anything to do with java's decline there.
uTorrent is definitely NOT Java --- the binary itself is a few orders of magnitude smaller than a JVM! You might be thinking of Azureus (since renamed Vuze)?
The development of the described scenario strongly devalued java's most advertised advantage, which was portability.
reply