Geertjan's Blog

  • July 3, 2010

Farewell Document Window in NetBeans Platform Applications

Geertjan Wielenga
Product Manager
On the dev mailing list, Ruben Laguna figured out how to remove the document window in a NetBeans Platform application, while also displaying two modes split vertically. I played around with his solution today and I now have an application consisting of 4 modules (master, detail, API, and branding), with this result:

The interesting point about the above screenshot is that there's no document window (compare that to the screenshot of the Funambol Admin Tool, in yesterday's blog entry, where the "Logger settings" window is clearly, and unnecessarily, a document window) and the two views in the master/detail relationship come from different modules, split into different modes, which each take up a fixed percentage of the given surface area. Also, the user is unable to open/close/move/resize windows, putting full control of these matters into the hands of the developer.

This is an interesting solution for smaller applications... giving you maximum control over the layout of the application, while simultaneously enabling it to be pluggable, since all NetBeans Platform applications are pluggable out of the box. In fact, potentially, everything in the screenshot above is pluggable, e.g., want to let the end users (i.e., the IT department within the company where the end users work) create plugins that add new text fields (or any other component) to the Detail window? Not a problem, the Detail Window needs only a small piece of code to make that possible, e.g., it could read its content from the layer.xml file, i.e., from the System FileSystem shared by all modules in the application. Even "small" applications (whatever you understand by the word "small") can benefit from the limitless pluggability that you can make available to the application.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.