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.