Thinlet is a Java GUI toolkit that I've been using in my recent project. It allows you to design the view of your applications using a simple XML format (much like XUL), thereby enforcing clean separation of view and controller, a common fallacy in Swing-based or AWT-based programs (not saying it can't be done, but it is often too easy to mush your view and controller together). Best of all, it works on a PersonalJava environment which is the target platform for my application, so there won't be problems porting it into PDAs. There is limited functionality, though to be sure, the developers are actively implementing new widgets and functionality upon user requests. For example, automatic sorting of lists and popup (context) menus are already in the latest CVS sources. The developers are also spending time refactoring their design, since Thinlet is basically 1 gargantuan class with 6000+ lines of code. Nevertheless, it's simplicity and portability across even limited platforms is a big factor in applications where it matters.

Check out a demo of Thinlet widgets as well as an Amazon browser (it works - try searching something on it).

Through my search for a suitable XUL or XUL-like toolkit, Luxor XUL and jXUL turned up. jXUL, unfortunately, has seen no developer activity since late 2001, but Luxor XUL seems great, only it depends too much on Java 2 APIs to port easily. I'm not too sure about committing to jXUL in future projects without a good look at the functionality provided, but I'm pretty sure Luxor XUL would be worth more than a look.