javax.swing

Class OverlayLayout

public class OverlayLayout extends Object implements LayoutManager2, Serializable

A layout manager that lays out the components of a container one over another. The components take as much space as is available in the container, but not more than specified by their maximum size. The overall layout is mainly affected by the components alignmentX and alignmentY properties. All components are aligned, so that their alignment points (for either direction) are placed in one line (the baseline for this direction). For example: An X alignment of 0.0 means that the component's alignment point is at it's left edge, an X alignment of 0.5 means that the alignment point is in the middle, an X alignment of 1.0 means, the aligment point is at the right edge. So if you have three components, the first with 0.0, the second with 0.5 and the third with 1.0, then they are laid out like this:
          +-------+
          |   1   |
          +-------+
      +-------+
      |   2   |
      +-------+
 +---------+
 |    3    +
 +---------+
 
The above picture shows the X alignment between the components. An Y alignment like shown above cannot be achieved with this layout manager. The components are place on top of each other, with the X alignment shown above.
Constructor Summary
OverlayLayout(Container target)
Creates a new OverlayLayout for the specified container.
Method Summary
voidaddLayoutComponent(String string, Component component)
This method is not used in this layout manager.
voidaddLayoutComponent(Component component, Object constraints)
This method is not used in this layout manager.
floatgetLayoutAlignmentX(Container target)
Returns the X alignment of the container that is laid out.
floatgetLayoutAlignmentY(Container target)
Returns the Y alignment of the container that is laid out.
voidinvalidateLayout(Container target)
Notifies the layout manager that the layout has become invalid.
voidlayoutContainer(Container target)
Lays out the container and it's children.
DimensionmaximumLayoutSize(Container target)
Returns the maximum size of the container that is laid out.
DimensionminimumLayoutSize(Container target)
Returns the minimum size of the container that is laid out.
DimensionpreferredLayoutSize(Container target)
Returns the preferred size of the container that is laid out.
voidremoveLayoutComponent(Component component)
This method is not used in this layout manager.

Constructor Detail

OverlayLayout

public OverlayLayout(Container target)
Creates a new OverlayLayout for the specified container.

Parameters: target the container to be laid out

Method Detail

addLayoutComponent

public void addLayoutComponent(String string, Component component)
This method is not used in this layout manager.

Parameters: string not used here component not used here

addLayoutComponent

public void addLayoutComponent(Component component, Object constraints)
This method is not used in this layout manager.

Parameters: component not used here constraints not used here

getLayoutAlignmentX

public float getLayoutAlignmentX(Container target)
Returns the X alignment of the container that is laid out. This is computed by the children's preferred sizes, taking their alignments into account.

Parameters: target not used here

Returns: the X alignment of the container that is laid out

getLayoutAlignmentY

public float getLayoutAlignmentY(Container target)
Returns the Y alignment of the container that is laid out. This is computed by the children's preferred sizes, taking their alignments into account.

Parameters: target not used here

Returns: the X alignment of the container that is laid out

invalidateLayout

public void invalidateLayout(Container target)
Notifies the layout manager that the layout has become invalid. It throws away cached layout information and recomputes it the next time it is requested.

Parameters: target not used here

layoutContainer

public void layoutContainer(Container target)
Lays out the container and it's children. The children are laid out one over another. The components take as much space as is available in the container, but not more than specified by their maximum size. The overall layout is mainly affected by the components alignmentX and alignmentY properties. All components are aligned, so that their alignment points (for either direction) are placed in one line (the baseline for this direction). For example: An X alignment of 0.0 means that the component's alignment point is at it's left edge, an X alignment of 0.5 means that the alignment point is in the middle, an X alignment of 1.0 means, the aligment point is at the right edge. So if you have three components, the first with 0.0, the second with 0.5 and the third with 1.0, then they are laid out like this:
          +-------+
          |   1   |
          +-------+
      +-------+
      |   2   |
      +-------+
 +---------+
 |    3    +
 +---------+
 
The above picture shows the X alignment between the components. An Y alignment like shown above cannot be achieved with this layout manager. The components are place on top of each other, with the X alignment shown above.

Parameters: target not used here

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
Returns the maximum size of the container that is laid out. This is computed by the children's maximum sizes, taking their alignments into account.

Parameters: target not used here

Returns: the maximum size of the container that is laid out

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Returns the minimum size of the container that is laid out. This is computed by the children's minimum sizes, taking their alignments into account.

Parameters: target not used here

Returns: the minimum size of the container that is laid out

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
Returns the preferred size of the container that is laid out. This is computed by the children's preferred sizes, taking their alignments into account.

Parameters: target not used here

Returns: the preferred size of the container that is laid out

removeLayoutComponent

public void removeLayoutComponent(Component component)
This method is not used in this layout manager.

Parameters: component not used here