Robocode is a fun programming game that teaches Java by letting you create Java Robots, real Java objects that battle it out onscreen against other robots. Robocode is similar to a combination of Logo and CoreWars. While playing Robocode, you will learn how to write Java code, how to handle events, how to create inner classes, and more.
Gnome-GCJ is a set of GTK+ and GNOME bindings for Java. It compiles with the GCJ compiler (part of egcs) and uses the GCJ runtime library libgcj. GCJ is capable of compiling Java source code to native machine code, which makes Java code almost as fast as C++ code. As the interface between Java and GTK+, CNI (Cygnus Native Interface) and C++ will be used instead of the more traditional JNI and C. This means that support for other Java runtimes has been sacrificed in favour of GCJ and its faster CNI.
The JScrollDesktopPane Swing component for Java provides a virtual desktop replete with dynamic scroll bars, dynamic menus, and dynamic button shortcuts. The JScrollDesktopPane class surmounts the limitations of the original JDesktopPane Swing component, offering a solution to the clipping and overlap problems inherit to said component, and mimics the interface of the original JDesktopPane to provide an easy upgrade path. It provides a scrolling MDI desktop, one of the most requested features to the Java JDK.