How to Create a GUI Editor on the NetBeans Platform

There's a lot of interest in creating GUI editors via the Visual Library. So I'm creating a small example that will show how to do that. The palette is filled with JavaBeans that are registered in the layer, meaning that the editor is extensible via the System FileSystem. When a palette item is dropped, a BeanNode wraps the JavaBean and displays its BeanInfo in the Property Sheet, where it can be edited and changes are applied immediately.

Other nice features such as scene serialization to/from XML (as shown here), printing, and widget resizing are also supported.

The beans you see above come from here (Nervous Text bean) and here (Ticker bean).

I need to clean it up a bit and then it will be made available via Kenai, together with a tutorial in the usual place.


Hi Geertjan,

Can't we reuse the matisse guibuilder module..instead.


Posted by Pavan Kumar on September 21, 2009 at 12:54 PM PDT #

No, because the Matisse GUI Builder doesn't expose any APIs. You'd need to rip it out of the NetBeans sources and then somehow fit it into your own application. Probably possible, but not much fun and very difficult. (I tried and failed doing that some years ago.)

Posted by Geertjan Wielenga on September 21, 2009 at 06:15 PM PDT #

Too Bad ..that such a wonderful tool canNot be reused

Posted by pavan on September 21, 2009 at 11:09 PM PDT #


Did yu manage to post that tutorial? i would very much like to build a custom gui editor, but can't find ressources.

Posted by Imad on October 05, 2012 at 04:53 AM PDT #

I recommend that you get this book:

It includes an excellent chapter on the Visual Library, including a drag and drop sample like what you seem to want.

Posted by Geertjan on May 06, 2015 at 11:37 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« July 2015