swingx
Version 2005-08-19

org.jdesktop.swingx
Class StackLayout

java.lang.Object
  extended by org.jdesktop.swingx.StackLayout
All Implemented Interfaces:
LayoutManager, LayoutManager2

public class StackLayout
extends Object
implements LayoutManager2

StackLayout is a Swing layout aimed to act as the layers stack of most popuplar graphics editing tools like The GIMP or Photoshop. While similar to CardLayout, this layout displays all the components of the container. If you are using non-rectangular components (i.e. transparent) you will see them from top to bottom of the stack.

When using this layout, each component can be added in the container either on top of the stack or at the bootom:

 JPanel panel = new JPanel(new StackLayout());
 panel.add(new JLabel("On top"),    StackLayout.TOP);
 panel.add(new JLabel("At bottom"), StackLayout.BOTTOM);
 
If you don't specify the constraint, the component will be added at the top of the components stack.

All the components managed by this layout will be given the same size as the container itself. The minimum, maximum and preferred size of the container are based upon the largest minimum, maximum and preferred size of the children components.

StackLayout works only with JSE 1.5 and Java SE 6 and greater.


Field Summary
static String BOTTOM
          Use this constraint to add a component at the bottom of the stack.
static String TOP
          Use this contrainst to add a component at the top of the stack.
 
Constructor Summary
StackLayout()
           
 
Method Summary
 void addLayoutComponent(Component comp, Object constraints)
          
 void addLayoutComponent(String name, Component comp)
          
 float getLayoutAlignmentX(Container target)
          
 float getLayoutAlignmentY(Container target)
          
 void invalidateLayout(Container target)
          
 void layoutContainer(Container parent)
          
 Dimension maximumLayoutSize(Container target)
          
 Dimension minimumLayoutSize(Container parent)
          
 Dimension preferredLayoutSize(Container parent)
          
 void removeLayoutComponent(Component comp)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOTTOM

public static final String BOTTOM
Use this constraint to add a component at the bottom of the stack.

See Also:
Constant Field Values

TOP

public static final String TOP
Use this contrainst to add a component at the top of the stack.

See Also:
Constant Field Values
Constructor Detail

StackLayout

public StackLayout()
Method Detail

addLayoutComponent

public void addLayoutComponent(Component comp,
                               Object constraints)

Specified by:
addLayoutComponent in interface LayoutManager2

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)

Specified by:
addLayoutComponent in interface LayoutManager

removeLayoutComponent

public void removeLayoutComponent(Component comp)

Specified by:
removeLayoutComponent in interface LayoutManager

getLayoutAlignmentX

public float getLayoutAlignmentX(Container target)

Specified by:
getLayoutAlignmentX in interface LayoutManager2

getLayoutAlignmentY

public float getLayoutAlignmentY(Container target)

Specified by:
getLayoutAlignmentY in interface LayoutManager2

invalidateLayout

public void invalidateLayout(Container target)

Specified by:
invalidateLayout in interface LayoutManager2

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)

Specified by:
preferredLayoutSize in interface LayoutManager

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)

Specified by:
minimumLayoutSize in interface LayoutManager

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)

Specified by:
maximumLayoutSize in interface LayoutManager2

layoutContainer

public void layoutContainer(Container parent)

Specified by:
layoutContainer in interface LayoutManager

swingx
Version 2005-08-19