I am a Java developer, designer, public speaker and a JAS 39 Gripen instructor fighter pilot. A somewhat unusual combination I guess, but I like challenges. I have created miglayout.com, migcalendar.com and Wing, a flight planning system used in several Air Forces. I find end user usability to be the most important part of a system and have therefore specialized in creating such applications. Mikael has posted 10 posts at DZone. View Full User Profile

MiG Layout 3.6.2 - SWT/Swing LayoutManager

  • submit to reddit
MiG Layout is the most versatile Java Layout Manager for Swing and SWT. It is very simple to use and has lots of documentation. Since MiG Layout is 100% free under the corporation friendly BSD license you can use and abuse it as much as you like, no matter if you are a sole developer or represent a large enterprise.

This is a bugfix release. Go to the change log to see which bugs have been fixed. Update. I slight updated version that fixes another minor issue has been uploaded.

MiG Layout is currently the 8:th highest voted for enhancement for inclusion into Java and the most voted for Swing enhancement. If you also want to put pressure at Sun please cast your vote at the Java Bug Parade.

MiG Layout is supported directly in Eclipse using SwingDesigner or SwtDesigner from Instantiations. Support for other IDEs are coming. SwingBuilder is using MiG Layout under the hood to make building user interfaces a snap.

Thank you all that have requested MiG Layout support in JavaFX. Let's see what can be done to make JavaFX better from a layout point of view. As soon as there is some info on how to do this best I will have a look at it.

Mikael Grev
MiG InfoCom AB
MiG Layout Site

Average: 5 (3 votes)
Published at DZone with permission of its author, Mikael Grev.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Jacek Furmankiewicz replied on Wed, 2008/12/17 - 9:12am

Thank you for your hard work Mikael.

MigLayout puts Swing layout management light years ahead of its competition, in any technology or programming language.

I will update the Java SwingBuilder 0.3.DEV to 3.6.1 in this weekend's build.



Mikael Grev replied on Wed, 2008/12/17 - 9:33am

Thank you for those kind words Jacek.

MigLayout and SwingBuilder seem to work very well together. They solve the same kind of problems, only at different abstraction levels.

Jacek Furmankiewicz replied on Wed, 2008/12/17 - 9:52am

I was trying to do so GTK+ programming with Python on my Linux box and after struggling with Glade (http://glade.gnome.org/) for layout management, I was constantly wishing I could have MigLayout here.

So, if you're interested in expanding the range of MigLayout world domination, then a MigLayout for GTK+ written in C would make you a Linux superstar. *grin*

Plus, you would be a new God in the world of Python and Ruby programming as well, since most of the new Linux apps are written in those languages using GTK+ bindings.

Hey, I can dream.... :-)



Mikael Grev replied on Wed, 2008/12/17 - 10:12am in response to: Jacek Furmankiewicz


If anyone is interested they should know that the MigLayout code is segmented exactly for this purpose, to port it to different platforms. 95% of the code is just math and such and is completely void of any GUI bindings. There's hardly any Java specific stuff there at all. All GUI bindings are made in the three proxy classes and are usually just one-line proxy calls to the native GUI toolkit widget methods...

So, if anyone is interested in being a God (I know I am, but I am currently time challanged until my RFE to lengthen the day to 36 hours gets ratified), this seems to be an easy enough way.

And, if the port is successful I will of course host it on the main MigLayout site.

Did I mention you can be a God?? :)


Jacek Furmankiewicz replied on Wed, 2008/12/17 - 10:23am in response to: Mikael Grev

Hm...interesting. I may take a quick look at the Java-GNOME bindings:


and see if there is a way to do it. Can you tell me which 3 proxy classes I would need to extend?


Mikael Grev replied on Wed, 2008/12/17 - 10:35am in response to: Jacek Furmankiewicz

They are ContainerWrapper, ComponentWrapper and the LayoutManager class itself (in Swing it is the MigLayout class, but this might be different on another platform. It mostly delegates to the Grid class though so it is just interaction with the GUI toolKit there.).

You can look at the 'swing' and 'swt' packages which contains the proxy classes for these different toolkits. 

Jacek Furmankiewicz replied on Wed, 2008/12/17 - 10:42am in response to: Mikael Grev

I am suddenly feeling very God-like this morning. Thanks Mikael, I will keep you posted if I achieve any progress.

P.S. If this works, I guess I'll have to make a GTK+Builder as well...

Jacek Furmankiewicz replied on Thu, 2008/12/18 - 8:05am

I blinked and we went from 3.6.1 to 3.6.2.

You know, maybe MigLayout shouldn't be in the JDK. We'd probably wait 3 years for that fix to become official *grin*

Mikael Grev replied on Thu, 2008/12/18 - 10:45am

I don't like bugs. They disrupt my mental balance.. ;)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.