Yes, Java can definitely be used for desktop applications. Besides the AWT and Swing GUI toolkits that are a standard part of the Java API, there is the widely used Eclipse framework, which provides an alternative foundation for desktop applications.
You should think of Java (and any other techonolgy) as a tool. sometimes, a hammer is the best tool, and sometime a screwdriver is better.
You don't say "I want to use a screwdriver, how do i build a picnic table". You figure out what you want to end up with, and THEN decide what are the best tools to use. Should you buy your lumber pre-cut (costs more, but simpler and not as flexible) or should you purchase stock lumber and a table saw? or would a hand saw do?
I always worry when i hear "We're going to re-do everything in XYZ, because XYZ is the FUTURE". There are times when that is the WRONG solution.
just my 2 cents.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Originally posted by Jelle Klap: I think any reasonable developer would have to agree with you. Still, if only Java could be the be-all end-all solution. The 42 of programming languages/platforms, so to speak. Ah, one can dream.
If you add everything-but-the-kitchen-sink to Java, and then add the kitchen sink, you'll have a language that will have dozens of ways to do the same thing. Heck, it will even have ways to modify itself so that what was originally designed for something else can do what you want, without changing the original code.
It would be a really cool language. It would be a language that you can only dream about. And it will look and act more like C++ than Java...