DockingFrames is an open source Java Swing docking framework, licenced under LGPL 2.1.
Most graphical user interfaces consist of some panels.
A JTree showing some files on the left, a JTable showing detailed information
about a directory on the right, ...
DockingFrames provides a way to organize these panels such that the user can drag & drop them.
The demonstration requires java 8: Download
The tutorial requires java 8: Download
The philosophy of DockingFrames is to have as much flexibility as possible, even
if that means to sacrifice simplicity or clearity.
Most modules can be replaced by developers without changing the code of DockingFrames.
You don't like the look of the titles? Replace them.
You don't like the way drag & drop is handled? Replace it (ey, I didn't say that this is meaningful, but it is possible).
DockingFrames was developed under Java 1.5, so you need at least Java 1.5.
You have to agree to the LGPL-licence.