NetBeans 5 Beta: Initial Thoughts

I downloaded the new Beta. The menu is in the right place now on OS X (in 4.1 you put it there but the tools menu misbehaved) and seems to work correctly. The source code window looks a lot better than I remember, guess they anti-alias now.

The real pleasant surprise is the preferences (options) dialog. You no longer have to dig through a ton of tree items to find the place to change the default font, or key-bindings. The old options dialog is still available for masochists. Switching back and forth between the two caused an extra dialog to show up that would not go away. That seems to have corrupted my preferences. Trashed the beta and unzipped the archive again to get a fresh copy. Problem solved. Yeah, it’s a Beta.

The java suggestions feature is great. Missed it when I switch from Eclipse. The new code completion is a *lot* faster. There are new refactoring commands (I haven’t tried yet). Plus a lot of stuff I have not tried yet.

GUI Editing

I know I’ve panned WYSIWYG editing in the past, but as my workload has shifted from J2EE apps with 50+ screens to smaller apps with more unique GUI demands, I have come to do more WYSIWYG. The first thing I noticed in the GUI builder is that I can now use the “delete-key-which-is-actually-a-backspace-key” on my mac USB keyboard when doing in-place editing without constant beep-and-ask-to-delete action. This in itself is worth a 50 meg download to me. Then, there is Matisse…

The new GUI Editor, Matisee, is cool. It works kinda like the Apple Interface Builder, it that small guidelines appear to let you know you’re locking the component to something. In Interface Builder, I’d have to resort using the inspector to get things to resize correctly, not so with Matisee. In NetBeans, you just drag the end of the component until you see the guideline. No need to switch between the components and GridBag customize dialog. You can kiss nested JPanels goodbye.

Unfortunately, moving from GridBag to “Free Design” (GroupLayout) is not always smooth. The first dialog I tried to port was very complex and whenever I tried to move anything, I’d get a failed assertion and an exception (I’m an idiot, I didn’t copy them). So I tried a second, more simple, dialog without problems. So going back to first dialog, I experimented until I was able to get it to work. My theory is that the old combo-boxes had no model, and newly added combos have a default model.

After the first hiccups, designing with Matisee is much faster.

Summary

It’s a beta and still rough around the edges. Matisee is cool. Can’t wait for the full release.

Comments (2) to “NetBeans 5 Beta: Initial Thoughts”

  1. Automatic conversion from GridBag to GroupLayout is indeed a dangerous operation. AFAIK we plan to add a dialog with warning when switching from GridBag to GroupLayout. I did it manually myself and it was not as painful as I thought it would be. See: http://blogs.sun.com/roller/page/roumen?entry=converting_gridbag_forms_to_matisse

  2. Oops, the link got broken, you can also get there via clientjava.com: http://www.clientjava.com/blog/2005/09/29/1128008792046.html