Skip to main content

NetBeans Dev 4.2 Q Build - Exploration of Matisse features

I managed to get NetBeans 4.2 Dev back into reasonable shape by uninstalling the application and reinstalling it. I then installed only a very few plugins from the Development Update Center; specifically plugins that support development of NetBeans Modules projects. I have a feeling that there are one or more development plugins in the Infrastructure folder that conflict with the core infrastructure plugins that come bundled with NetBeans. So I think for the time being I'll just leave those be.

I've pushed forward with learning what I can do with Matisse. I created a second simple panel, taking as my inspiration Hacknot's "Beware The GUI Builder." The author raises a number of important points with regards to how GUI builders are used and the poor quality code they produce.
But the GUI Builder's inability to recognize repetitive structures in the GUI (opportunities for reusing a custom component) has the potential to create a great deal of unnecessary code, should the scope of duplication involve a larger number of components.
He then shows the following example panel, which I reproduced quite easily and quickly in Matisse.



The Home panel was created quickly by first dropping the Home panel on the form and then laying each of the controls into the Home panel. I then selected the Home panel, copied it, and then pasted it onto the main form. I moved the second Home panel and beneath the first and changed the border's title to Work. It was simple, fast, and generated a lot of duplicate code.


I show the form's inspector panel to illustrate the relative maturity of Matisse. The code behind Matisse recognized that I was copying a collection of components and renamed them in order to avoid naming conflicts. The problem, however, is that there is a lot of duplicate code. What could Matisse do to help minimize this and foster reuse?

The answer may already be in Matisse. Current versions have an empty Beans section in the Palette and there is a Palette Manager that can be invoked from the top of the Designer. There's even a section in Help about adding a bean to the palette window.



What it takes to add new components, to extend the palette as well as foster reuse, is something I am very interested in. Eclipse's Visual Editor has the ability to extend it and add new controls, but I've worked with the Eclipse visual editor. Matisse in its current incomplete state is better than Eclipse VE in its 1.1 release, and Matisse has the potential to pull even further ahead in usability and functionality for the forseeable future.

Comments

  1. I read the "Beware..." article. Interesting look at some boundary issues, but frankly not all that relevant given my priorities. My priorities are: 1) developing a good looking GUI, that 2) responds correctly to resizing requests, and 3) is localizable.

    Promoting GUI code reuse? That is only important when there is time taken in creating a GUI. In this particular GUI, that isn't relevant. I've been doing GUIs for years, and in most cases it isn't relevant.

    BTW: Thank you for the article on Matisse. It looks to be pretty sweet once some of the rough edges are filed off.

    ReplyDelete

Post a Comment

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

Popular posts from this blog

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…

first night for the gingersnaps

The first night has passed and the two have managed to survive, in spite of what their tiny hearts might have thought when first arriving. Greebo, the larger of the two, has been in hiding the entire time so far. Ponder has spent the time zipping in and out of hiding spots, checking things out, and learning just how comfortable pillows are for resting your head.

During the night I felt the tiny body of Ponder hitting the bed as he leaped up on the side, and then climbed to the top to run around on top of me. At least once he play-attacked my fingers. He might be small but his claws are still quite sharp.

When I got up in the morning the bowl of cat kitten food was fairly well depleted. It's been refilled and fresh water put in the big dish on the floor. I'm assuming that both Greebo and Ponder are feeding and drinking. I have seen Greebo under the furniture peeking out at me when I went looking for him. I'm leaving him alone while he continues to adjust.

So far the guys h…

vm networking problem fixed

Over the weekend I upgraded to Windows 8.1, then discovered that networking for the virtual machines wouldn't work. Then I tried something incredibly simple and fixed the problem.

Checking the system I noticed that three VMware Windows services weren't running; VMnetDHCP, VMUSBArbService, and VMwareNatService. VMware Player allows you to install, remove, or fix an existing installation. I chose to try fixing the installation, and that fixed the problem. The services were re-installed/restarted, and the virtual machines had networking again.

Once network connectivity was established there was exactly one updated file for Ubuntu 13.10, a data file. This underscores how solid and finished the release was this time. Every other version of every other Linux installation I've ever dealt with has always been succeeded by boatloads of updates after the initial installation. But not this time.

Everything is working properly on my notebook. All's right with the world.