I'm a Java newbie, but experienced in Visual Basic, and was wondering how Java compares to other programming languages. Is it a suitable language to develop desktop applications in and does it have a visual GUI like Delphi, VB, and C++??? Are different compilers necessary to compile source code into .exe's for different platforms, e.g. Linux, Mac, windows, etc.?

Thanks for your help!