Use MigLayout . It is very easy to use and has only a very small learning curve. It can easily handle the layout you intend to use. In particular, start with the Quick Start Guide and then Whitepaper for the rest of the API)
The specific parts that you need to see using MigLayout are the docking elements (on the right and bottom, it looks like) and fill
, since it looks like you want things to take up all the space.
Other than that, you probably won't need much more to indicate the layout.
As an example, using MigLayout and SwingBuilder in Griffon , here is how I could lay out what you have:
migLayout(layoutConstraints: 'fill, wrap 2', columnConstraints: '[grow|]', rowConstraints: '[grow|]') panel (constraints: 'spany 2, grow') { // Main content with the picture go in here } list(constraints: 'grow') { // Top list } list(constraints: 'grow') { // Bottom list } panel(constraints: 'grow') { // Bottom panel } panel() { // Button panel }
There are probably many ways to do this, and I did not build the link and run it myself, so I am not 100% sure that it works, but it should serve as a good starting point.
source share