Java developers are blind toward other technologies. Just ask any of them to write you a GUI program. You can bet with good money that 90% of them will think of Swing. (Bet futher that they will think Swing is crap.) Given Java popularity on the server side, some of the younger developers might not even know you can actually do non-web GUI applications.
This is sad okay.
There is a saying that you should use they right tool for the right job. But to a Java programmer, any right tool is still Java. What we eventually have is a group of Java developers who knows only Java and nothing else. Fortunately, Java can really do a lot. From JME (Java Micro Edition?), JSE to JEE, you basically covered almost everything.
However, there are many situations and requirements that are not meant for Java. Some problems can easily be solved with a few lines of Bash shell scripts -- why incur the price of a heavy JVM to do it? For portability, use Perl, Perl runs on as many platform as Java. Some problems requires really low-level and raw power, like writing an OS. Just ask any Java programmer, they will think it's a crazy idea. Crazy because in their mind, Java can never do that hence they can never write an OS, or even imagine doing it.
The same can be said for PHP, VB, or C/C++ developers. To a PHP programmer, everything is web application. To a VB programmer, everything is Window GUI application. To a C/C++ programmer, everything is cool. hehe
I wish I can show you more how cool is it to do things differently -- but for now I can only tell you it's a foolish to only be good in Java. The OO mindset of Java developer can be an advantage when coming to learn other languages. So it's not a question of lost invest in time and effort to learn different programming language.