Skip to main content

NetBeans Matisse - Needs considerably more work

I pulled down the latest developer NetBeans (for July 21st) and installed it, then I visited the Project Matisse page and watched Roman Strobl's flash demo. I wanted to followed Roman's dialog and illustrations as I recreated his DemoForm. Using the latest developer version my results were a lot less successful than Roman's.

First, the Matisse module seems to have regressed with regards to stability. I encountered numerous unhandled exceptions as I attempted to add each of the controls. The biggest problem with the flash demo is that when Roman starts his demo he starts from a point where there are already a number of controls on the form. I added the same controls in order to start at the same spot where the flash demo starts. I generated no less than two exceptions to get to that point, which forced me to "save early, save often." The problem is that once an unexpected exception appears, then no more work can be done until the form is closed. You can't even save your work. You throw it away and then restart the form editor from the last saved state. The exception that plagued me is listed below.
at org.netbeans.modules.form.layoutdesign.LayoutDesigner.endMoving(
at org.netbeans.modules.form.HandleLayer$ResizeComponentDrag.end(
at org.netbeans.modules.form.HandleLayer$ComponentDrag.end(
at org.netbeans.modules.form.HandleLayer.endDragging(
at org.netbeans.modules.form.HandleLayer.mouseReleased(
at java.awt.Component.processMouseEvent(
at javax.swing.JComponent.processMouseEvent(
at java.awt.Component.processEvent(
at java.awt.Container.processEvent(
at java.awt.Component.dispatchEventImpl(
at java.awt.Container.dispatchEventImpl(
at java.awt.Component.dispatchEvent(
at java.awt.LightweightDispatcher.retargetMouseEvent(
at java.awt.LightweightDispatcher.processMouseEvent(
at java.awt.LightweightDispatcher.dispatchEvent(
at java.awt.Container.dispatchEventImpl(
at java.awt.Window.dispatchEventImpl(
at java.awt.Component.dispatchEvent(
[catch] at java.awt.EventQueue.dispatchEvent(
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(
at java.awt.EventDispatchThread.pumpEventsForHierarchy(
at java.awt.EventDispatchThread.pumpEvents(
at java.awt.EventDispatchThread.pumpEvents(
The following images show where I got to with regards to the Matisse visual editor. The left image was the final "stable" stage, with the Identity panel added with its text field and three text entry areas. Note the three buttons beneath the Identity panel. These are outside the panel. They'll later illustrate what I've run into trying to build non-trivial layouts with Matisse ever since it's been made available.

The right image shows what happened to me when I tried to follow Roman's example and add Organization label and text box to the Identity panel. Unlike the smooth example in the flash demo, my experience was anything but smooth. Any attempt to add the label did not push down the lower two labels. Instead Matisse kept placing it first in line with the email address label, and pushing the text box off the form edge. I finally got it added to the panel by manually moving down the lower to labels and associated text boxes, adding the new label and text box, and then manually moving the lower controls back up again. When I finished that exercise I had managed to shove down the "Remove Account" button on the left, and the lower buttons beneath the Identity panel were now almost completely off the form edge. Not a problem, right? Wrong. Grabbing the Identity panel's lower edge and attempting to resize it back to its original location resulted in an immediate unexpected exception. I could do nothing to the form at this point, except kill it, and any attempt to bring it back up and resize the Identity panel resulted in the aforementioned exception being thrown.


Popular posts from this blog

A Decade Long Religious Con Job

I rarely write inflammatory (what some might call trolling) titles to a post, but this building you see before you deserves it. I've been seeing this building next to I-4 just east of Altamonte/436 and Crane's Roost for nearly 12 years, and never knew who owned it. Today on a trip up to Lake Mary with my wife I saw it yet again. That's when I told her I wanted to stop by on the way back and poke around the property, and photograph any parts of it if I could.

What I discovered was this still unfinished eighteen story (I counted) white elephant, overgrown with weeds and yet still under slow-motion construction. It looks impressive with its exterior glass curtain walls, but that impression is quickly lost when you see the unfinished lower stories and look inside to the unfinished interior spaces.

A quick check via Google leads to an article written in 2010 by the Orlando Sentinel about the Majesty Tower. Based on what I read in the article it's owned by SuperChannel 55 WA…

Be Careful of Capital One Mailings

Capitol One ("What's in your wallet?") sent me a bit of deceptive snail mail today. I felt sure it was a credit card offer, and sure enough, it was. I open all credit card offers and shred them before putting them in the trash. Normally I just scan the front to make sure I don't miss anything; the Capital One offer made me stop for a moment and strike a bit of fear into my heart.

The letter's opening sentence read:
Our records as of December 30, 2009 indicate your Capital One Platinum MasterCard offer is currently valid and active.Not paying close attention during the first reading, I quickly developed this irrational worry that I was actually on the hook for something important, but I wasn't quite sure what. The letter listed "three ways to reply" at the bottom; via phone, the internet, and regular snail mail. I elected to call.

Once I reached the automated phone response system, the first entry offered was '1', to "activate my Capital …

cat-in-a-box channels greta garbo

So I'm sitting at my computer, when I start to notice a racket in back. I ignore it for a while until I hear a load "thump!", as if something had been dropped on the floor, followed by a lot of loud rattling. I turn around and see Lucy in the box just having a grand old time, rolling around and rattling that box a good one. I grab the GX1 and snap a few shots before she notices me and the camera, then leaps out and back into her chair (which used to be my chair before she decided it was her chair).

Just like caring for Katie my black Lab taught me about dogs, caring for Lucy is teaching me about cats. She finds me fascinating, as I do her. And she expresses great affection and love toward me without coaxing. I try to return the affection and love, but she is a cat, and she takes a bat at me on occasion, although I think that's just her being playful. She always has her claws in when she does that.

She sits next to me during the evening in her chair while I sit in mi…