How to restrict dockables to place one below the other at run time (vertically) ?


I am new to docking frameworks and I found out Docking Frames is one of the best frameworks.

Background -
I am using netbeans platform applicatoin. In that one of the topcomponents contain multiple windows which should move up and down with in the topcomponent. I didn’t find any solution using netbeans framework. So decided to use Docking Frames.

Here I am using SplitDockStation so that I can add multiple dockables runtime.

Requirement -

  1. I want to restrict the dockables to place only one below the other (Vertically).
    • User is not allowed to move the dockables one beside the other but only below the other.
  2. I want to restrict the dockables from stacking.

Please help me if there is any solution for the above problems either in Docking Frames or in Netbeans framework.


About 2: There is an interface “DockAcceptance” which can be used to restrict some combinations of Dockables, “not stacking” is used by the framework itself and pretty easy to implement.

About 1: This is more complex. There no DockStation that would directly support what you describe, SplitDockStation is indeed the one comming closest to the behavior. You would need to implement a new SplitLayoutManager, and re-implement the “prepareDrop/Move” methods which are responsible for placing a dragged Dockable. I think this would be doable, but it will require some time.

At the moment I’m busy and can’t really help implementing these things.

Thanks for the reply.