Skip to main content

Project Matisse

Posted by gsporar on June 3, 2005 at 2:20 PM PDT

During a recent vacation my girlfriend and I toured the Barnes Collection of impressionist and post-impressionist art. The Barnes contains one of the world's most impressive collections of art in private hands. Viewing it was an awesome experience, made even more so by the opportunity to gaze at Matisse's 1907 masterpiece, The Red Madras Headdress.

Henri Matisse was a genius and an artist of immeasurable talent. As one of the founders and leaders of modern art at the turn of the previous century, he set the tone for decades to come. He painted in a bold style with vivid colors that immediately conveyed a message to the observer.

So it is fitting that we refer to the forthcoming improvements to the NetBeans graphical user interface (GUI) builder as Project Matisse.

There has always been one part of building GUIs with Swing that I have not enjoyed: hassling with the layout. NetBeans has always had a form editor that reduces the layout grunt work considerably. Project Matisse will eliminate that grunt work completely. It's more than just support for graphically drawing your form; Project Matisse provides hints as to where your controls should go on your form. The hints are based on the selected look and feel and on the positions of the controls that are already on the form. So if you want a JTextField properly aligned with a JLabel, Project Matisse will show you where to place the JTextField. And then at run time, it all just works. Viewing it in action is an awesome experience.

I built the form below in a couple of minutes; all layout was done via point and click only. No messing with insets, anchors, etc.

4.png

If the user resizes the form, the right things happen:

5.png

Things still look right when I change the locale:
6.png

To really appreciate Project Matisse, however, you must see it in action. Roman Strobl has created an excellent demo that shows this upcoming feature at its best.