Matisse is the undisputed champion when it comes to visual layout of components.
The only problem is that one needs to stay in the visual environment to be able
to edit it since the code generated is very hard to edit. This is fine for some
use cases. However, for the use case where you want to use the visual layout
tool to do the initial layout and then switch to manual coding for some reason
the MiG Layout layout manager is more suitable. MiG Layout has basically all
features a layout manager can have and was created to be a next gen LM to
FormLayout. I suggest that support for MiG Layout is added to increase the
amount of use-cases that NB can handle. Also note that support for MiG Layout
can be added incrementally due it its design. It can start out not more advanced
than FlowLayout, with layout string constraint editing, to as advanced layout
support as for GroupLayout. MiG Layout is BSD licensed.
*** Issue 158577 has been marked as a duplicate of this issue. ***
I can try to design/develop this feature if somebody give me some directions from where to start and etc. Is there any
developer guide for layout support?
Layout support is a fairly complex thing. In the past we tried to create a generic layout support layer, mainly for
per-component-constraint layout managers, but found out it is quite complicated and still limited. Mainly the layout
managers are too different to have a reasonable generic framework for them. Anyway, this system is still in and all the
original java layout managers are supported this way (FlowLayout, BorderLayout, GridBagLayout etc). You can see their
code for examples. There were some attempts to integrate some layout managers this way, see e.g.
A new approach we took with the GroupLayout (aka "free design"). Here the layout design is completely separated from the
rest of GUI editor, is much more capable, OTOH much more code needs to be written. This new model is yet not well
prepared for multiple layout design systems - since there's only the "free design". It is hardcoded on several place, so
the work to include a layout system for another layout manager would be pretty non-trivial.
Now it depends what the Mig layout support should look like. If it is intended to be rather basic with simple
visualization and not much direct visual manipulation, then perhaps the old layout is more suitable. You get to limits
of this approach when trying to support ways of expressing layout other than those describing the layout as a set of
layout constraints objects attached to components. This relates mainly to generating code and persisting the layout in
So the first think is probably to look at the code examples of existing layout supports, and also have some idea how the
Mig layout support could look like in a GUI builder tool. If still interested, send me a mail then and I'll give you
more detailed information.
Please look at MIGLayout support in WindowBuilder Pro for Eclipse - http://code.google.com/javadevtools/wbpro/layoutmanagers/swing/miglayout.html
Netbeans (as the best IDE) *must* have such support too.
For what it's worth, I've spent the past month using MigLayout for the first time and it's by far the easiest and most flexible layout manager I've ever used. It is especially surprising how easy it is to code by hand.
It has flaws (unexpected behavior that should be better documented) but they are quite minor, and quite favorable when compared with other layout managers.
*** Bug 197543 has been marked as a duplicate of this bug. ***
Please don't adjust "version". It indicates the first version this issue was first reported against, and that remains 6.0.
Any news on this?
MiG Layout is still quite useful, and it's released under a permissive license, so what's preventing it from being supported in the visual editor?
I was looking for a way to use MiGLayout with Netbeans as well. I recently spent a day using first the GridLayout and GridBagLayout that come with Netbeans and the results are disappointing. At least GridBagLayout can actually be used for non-trivial examples.
So MY VOTE is for a MigLayout plugin.
There is an article here on using MiGLayout with Netbeans:
* Registering MigLayout in NetBeans, geertjan
There was a project on Kenai:
Of course that has been ditched now.
Something I don't quite follow with the MigLayout is that I can add other swing components to the pallet. But layout are in a different place. It is still code. It seems the designer has split the world into two groups.
We should get behind this fellow Netbeans lovers!!
I share your enthusiasm, but please don't modify the "version" field. It denotes when this feature was first requested, not when is it expected to be fixed.