Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.togethersoft.openapi.util.ui
Class StackLayout

public class StackLayout
implements LayoutManager

************************************************************************** StackLayout is a LayoutManager that arranges components in a vertical (or horizontal) strip aligning them at right, left or centered, and/or filling them to take up any extra vertical or horizontal space. Arrangement tags are provided by using the add(tag,component) form to add components to the container. The tag consists of one or more of the following, with the two forms applying to horizontal or vertical dimension.

    Positioning:
    "Center"                : centered horizontally & vertically (the default)
    "Left"    or "Top"      : pushed at the left|top edge.
    "Right"   or "Bottom"   : pushed against the right|top edge
    Sizing:
    "Wide"    or "Tall"     : filled to use available space.
    "Wide*#"  or "Tall*#"   : filled but weighted by the number #.
    "Fill" (or "Fill*#")    : filled in both directions.
    "Width=#" or "Height=#" : given explicit width|height
    Margins:
    "Flush"                 : margins are not added around this component.
    "FlushV"                : margins are not added to top and bottom edges of this component.
    "FlushH"                : margins are not added to left and right edges of this component.
    "FlushTop"              : margins are not added to top edge of this component.
    "FlushBottom"           : margins are not added to bottom edge of this component.
    "FlushLeft"             : margins are not added to left edge of this component.
    "FlushRight"            : margins are not added to right edge of this component.

By default, a component is centered in both directions. The available space along the orientation is divided between the filled components. A common idiom is to build a complicated panel out of, say, a vertical stack of horizontal stacks (both using StackLayout). In that case, it would usually be good to add the horizontal panels using the tag "Wide Flush", so that spacing comes out evenly.

Much of what can be done with GridBagLayout can be achieved by combining a set of subpanels using StackLayout, but typically more concisely. On the other hand, with StackLayout there is less compile time checking of the layout.

Author:
  TogetherSoft

Field Summary
`final static int` | `HORIZONTAL` The orientation constant for horizontal layouts.
`final static int` | `VERTICAL` The orientation constant for vertical layouts.

Constructor Summary
`StackLayout()` Create a horizontal StackLayout.
`StackLayout(int orientation)` Create a StackLayout with the given orientation.
`StackLayout(int orientation, int margin)` Create a StackLayout with the given orientation and space between components.

Method Summary
`void` | `addLayoutComponent(String tag, Component comp)` Add the specified component to the layout, parsing the layout tag.
`void` | `layoutContainer(Container parent)` Lays out the specified container.
`Dimension` | `minimumLayoutSize(Container parent)` Calculate the minimum size dimensions for the specififed container.
`Dimension` | `preferredLayoutSize(Container parent)` Calculate the preferred size dimensions for the specififed container.
`void` | `removeLayoutComponent(Component comp)` Remove the specified component from the layout.

Field Detail

### HORIZONTAL

    public final static int HORIZONTAL

  The orientation constant for horizontal layouts.

### VERTICAL

    public final static int VERTICAL

  The orientation constant for vertical layouts.

Constructor Detail

### StackLayout

    public StackLayout()

  Create a horizontal StackLayout.

### StackLayout

    public StackLayout(int orientation)

  Create a StackLayout with the given orientation.

### StackLayout

    public StackLayout(int orientation, int margin)

  Create a StackLayout with the given orientation and space between components.

Method Detail

### addLayoutComponent

    public void addLayoutComponent(String tag, Component comp)

  Add the specified component to the layout, parsing the layout tag.

### layoutContainer

    public void layoutContainer(Container parent)

  Lays out the specified container.

### minimumLayoutSize

    public Dimension minimumLayoutSize(Container parent)

  Calculate the minimum size dimensions for the specififed container.

### preferredLayoutSize

    public Dimension preferredLayoutSize(Container parent)

  Calculate the preferred size dimensions for the specififed container.

### removeLayoutComponent

    public void removeLayoutComponent(Component comp)

  Remove the specified component from the layout.

Association Links

to Class java.util.Hashtable

Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD