If you develop SWT apps, or you wish you good develop non-sucking Java GUIs, then you have to have a look at

SWT Designer. This Eclipse plug-in is so good I just want to rave.

Some of the things I just want to rave about are:

  1. There are no magic “untouchable” sections of your codebase (ala my early JBuilder experiences where you had all these //DO NOT EDIT sections)
  2. Refactoring all still works - in fact the two-way code editing is first class. I added a setHeaderVisible() to my table viewer by hand in the source, and when I switch back to design view it had picked up the changes.3. No need to create any special “Designer” projects to use the tool. Open up your current hand-developed codebase, right click on the java file and select /Open With…/Designer. Just works. (That said, there are also wizards for common tasks, but I haven’t taken them for a spin yet).
  3. The GUI editor just rocks. I can drag and drop layouts and composites and controls - and the visual hierarchy of components really helps me understand how the underlying codebase hangs together. The Properties/Events tab is also very nicely implemented (including changing properties of your layout data). You can also right click on an object and select the event you want to handle - whatever works for you!
  4. No special jars to ship with your app - this baby just understands SWT apps. That means if you buy a copy, your buddies on the CVS who do this stuff by hand don’t need to - and you won’t stuff things for them.6. Performance is great. On my two year old Athlon box, this thing is a little slow to start, but after that I don’t notice it
  5. Comes with a “Preview” mode - so you can see your design “running” without the need to launch your app.
  6. JFace support is out of the box. I do most of my stuff in JFace these days to get that touchy-feely MVC goodness - and the support for JFace stuff is excellent. Select a TableViewer and then click on the ContentProvider? You get a list of classes in your project that implements the interface. Small stuff, but the stuff that screams “this was developed by people who know how to work smarter”.

I’ve only used it for two days but I’ve been wanting this tool for my entire Java life. In darker days I used to program Visual Basic for a living - and this tool is easily as good from a GUI point of view, and heaps better from a two-way coding perspective.

I’ve raved about SWT before, in particular how I think it is the great hope of the Java Desktop… but if you’ve given up on Java Desktop apps, it’s definitely time to have a second look. SWT/JFace plus SWT Designer is just a killer combination. It’s certainly not cheap at $USD249 - but I’m going to play with my eval copy for another 12 days, and I think by then I will probably be totally infected.

Kudos to the boys at Instantiations. First class product. Give it an eval - you’ll be pleasantly surprised.