Tuesday, July 26, 2005

NetBeans Dev 4.2 Q Build - The experience improves

There was a tremor in the Force today. I downloaded the latest NetBeans 4.2 Developer Q build, installed it, and completed Roman's DemoForm flash demo. I was glad to see that the Q build was indeed more stable than the bleeding edge developer drops I'd been working with recently. What follows in no particular order are a list of improvements and issues I found in the July 26th Q build.
  • The visual editor is no longer touchy. When I inserted jLabel8 (Organization) into the Identity panel, it dropped in between the name and email address labels. I was then able to drop the supporting JTextField next to the JLabel and size it without causing the Identity panel to resize and push the surrounding controls off the form.

  • I still caused a few unexpected exceptions. This was caused by me playing around with the organization text field. However, I could close the form and save it, and when I opened it again I was left with everything except the text field on the form. This is a much better behavior than before, although I'd prefer not seeing any exceptions at all.

  • I had to change how the signature field and choose button were added to the Identity panel. I had to add the field, add the button, then resize the field to get them both to fit side by side properly. This is when I noticed that there are more controls across the top of Roman's demo than there are on my Q build editor. Roman seemed to use them to 'hint' how the controls were adjusting to one another. I would suggest that the development crew put those controls back and get rid of the strange control 'thinger' that sits within the design editor (see the image to the right; the 'thinger' is to the right of the Advanced button).

  • Copy and paste are not all there yet. For example, I selected the OK button at the bottom of the form and copied it (Control C). I then went around the form, selecting various controls and hitting Control V to see if I could paste a copy of the control on the form. I found only two areas I could paste; on the main form and on the back of the design editor outside of the primary form area. I was surprised I could not paste a copy into the Identity JPanel. I was also surprised by the behavior of pasting onto the designer outside of the form area. Once it was there it couldn't be dragged back inside the form; it could only be deleted.

  • And finally, you still can't run Tools | Update Center. Which means that if you want or need to grab a plugin you can't at the moment.
My original Butt-Ugly Layout (BUL, pronounced 'bull') still gives Matisse fits. It caused a fair number of unknown exceptions and when trying to resize or move controls, most of the other controls on the form just slipped and slid around or completely off the form. Based on my BUL experiences, I'd like to suggest the following enhancements for Matisse.
  • Embrace the grid. I know that you want to use 'natural' Swing layout controls and constraints, but the grid, used during visual layout, would allow the developer to concentrate more on design than worrying if adding another control will cause most or all of the current form to slip and slide around in unexpected ways. You can use the grid as an intermediate visual 'crutch' on the editor, while working magic on the backend to construct the 'right' layout using org.jdesktop.layout.GroupLayout.

  • If you can't give us a grid, give us a way to 'pin' one or more controls onto the form so they don't move. Back in the old days when Solaris OpenWindows was something new, you could use a graphical pushpin to pin a menu to the desktop so it would stay open. It might be useful to resurrect that moldy old visual paradigm and apply it to the Matisse visual editor. You could pin down the controls you didn't want to move before adding more controls or moving others around. Or you could pin an entire panel full of controls at once using a button and then unpin specific ones, or just keep adding new ones around the pinned ones.
That's it for now. But before I go, let me present my Roman DemoForm in all its pixelated glory.

Glorious victory! I've successfully added the company label (jLabel8) and associated text field to the form. Look, ma! No exceptions! And no unusual growth of Identity and subsequent pushing of the three lowest buttons over the edge of the form and into oblivion.

And here we see my fabulous work running in preview mode. I sat back and basked in its pristine beauty.

1 comment:

  1. charlie huntJuly 27, 2005

    Glad to see you've found the QBuild much more stable.

    Thanks again for the feedback.

    I'll forward it to the Matisse developers and also check if we have bugs filed on what you've seen.

    I realized as a result of your earlier blog on using the development build(s), the QBuilds should probably be the default choice for download development releases rather than showing the nightly build as the default download.

    Keep up the good work and keep the feedback coming!


All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.