There are lots and lots of ways to program GUI's on Linux without using Java. you can use the Gnome or KDE api's. You can also use C, C++, Lisp, Perl, Python, or just about any other language which can be bound to a GUI API.
I mostly use C++ with Qt. You can download a free full featured edition of Qt for Linux here.
http://qt.nokia.com/
Qt usually comes distributed with Fedora and probably with Ubuntu if you install the appropriate development packages. You can probably install it using yum, apt-get, or whatever package manager Ubuntu uses.