java.awt
Class CardLayout

java.lang.Object
  extended by java.awt.CardLayout
All Implemented Interfaces:
LayoutManager, LayoutManager2, Serializable

public class CardLayout
extends Object
implements LayoutManager2, Serializable

This class implements a card-based layout scheme. Each included component is treated as a card. Only one card can be shown at a time. This class includes methods for changing which card is shown.

See Also:
Serialized Form

Constructor Summary
CardLayout()
          Initializes a new instance of CardLayout with horizontal and vertical gaps of 0.
CardLayout(int hgap, int vgap)
          Create a new CardLayout object with the specified horizontal and vertical gaps.
 
Method Summary
 void addLayoutComponent(Component comp, Object constraints)
          Add a new component to the layout.
 void addLayoutComponent(String name, Component comp)
          Deprecated. This method is deprecated in favor of addLayoutComponent(Component, Object).
 void first(Container parent)
          Cause the first component in the container to be displayed.
 int getHgap()
          Return this layout manager's horizontal gap.
 float getLayoutAlignmentX(Container parent)
          Return this layout manager's x alignment.
 float getLayoutAlignmentY(Container parent)
          Returns this layout manager's y alignment.
 int getVgap()
          Return this layout manager's vertical gap.
 void invalidateLayout(Container target)
          Invalidate this layout manager's state.
 void last(Container parent)
          Cause the last component in the container to be displayed.
 void layoutContainer(Container parent)
          Lays out the container.
 Dimension maximumLayoutSize(Container target)
          Get the maximum layout size of the container.
 Dimension minimumLayoutSize(Container target)
          Get the minimum layout size of the container.
 void next(Container parent)
          Cause the next component in the container to be displayed.
 Dimension preferredLayoutSize(Container parent)
          Get the preferred layout size of the container.
 void previous(Container parent)
          Cause the previous component in the container to be displayed.
 void removeLayoutComponent(Component comp)
          Remove the indicated component from this layout manager.
 void setHgap(int hgap)
          Set this layout manager's horizontal gap.
 void setVgap(int vgap)
          Set this layout manager's vertical gap.
 void show(Container parent, String name)
          Cause the named component to be shown.
 String toString()
          Returns a string representation of this layout manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CardLayout

public CardLayout()
Initializes a new instance of CardLayout with horizontal and vertical gaps of 0.


CardLayout

public CardLayout(int hgap,
                  int vgap)
Create a new CardLayout object with the specified horizontal and vertical gaps.

Parameters:
hgap - The horizontal gap
vgap - The vertical gap
Method Detail

addLayoutComponent

public void addLayoutComponent(Component comp,
                               Object constraints)
Add a new component to the layout. The constraint must be a string which is used to name the component. This string can later be used to refer to the particular component.

Specified by:
addLayoutComponent in interface LayoutManager2
Parameters:
comp - The component to add
constraints - The name by which the component can later be called
Throws:
IllegalArgumentException - If `constraints' is not a String

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)
Deprecated. This method is deprecated in favor of addLayoutComponent(Component, Object).

Add a new component to the layout. The name can be used later to refer to the component.

Specified by:
addLayoutComponent in interface LayoutManager
Parameters:
name - The name by which the component can later be called
comp - The component to add

first

public void first(Container parent)
Cause the first component in the container to be displayed.

Parameters:
parent - The parent container, not null.

getHgap

public int getHgap()
Return this layout manager's horizontal gap.

Returns:
the horizontal gap

getLayoutAlignmentX

public float getLayoutAlignmentX(Container parent)
Return this layout manager's x alignment. This method always returns Component.CENTER_ALIGNMENT.

Specified by:
getLayoutAlignmentX in interface LayoutManager2
Parameters:
parent - Container using this layout manager instance
Returns:
the x-axis alignment

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)
Returns this layout manager's y alignment. This method always returns Component.CENTER_ALIGNMENT.

Specified by:
getLayoutAlignmentY in interface LayoutManager2
Parameters:
parent - Container using this layout manager instance
Returns:
the y-axis alignment

getVgap

public int getVgap()
Return this layout manager's vertical gap.

Returns:
the vertical gap

invalidateLayout

public void invalidateLayout(Container target)
Invalidate this layout manager's state.

Specified by:
invalidateLayout in interface LayoutManager2
Parameters:
target - the target container

last

public void last(Container parent)
Cause the last component in the container to be displayed.

Parameters:
parent - The parent container, not null.

layoutContainer

public void layoutContainer(Container parent)
Lays out the container. This is done by resizing the child components to be the same size as the parent, less insets and gaps.

Specified by:
layoutContainer in interface LayoutManager
Parameters:
parent - The parent container.

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
Get the maximum layout size of the container.

Specified by:
maximumLayoutSize in interface LayoutManager2
Parameters:
target - The parent container
Returns:
the maximum layout size
See Also:
Component.getMaximumSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Get the minimum layout size of the container.

Specified by:
minimumLayoutSize in interface LayoutManager
Parameters:
target - The parent container
Returns:
the minimum layout size
See Also:
LayoutManager.preferredLayoutSize(Container)

next

public void next(Container parent)
Cause the next component in the container to be displayed. If this current card is the last one in the deck, the first component is displayed.

Parameters:
parent - The parent container, not null.

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
Get the preferred layout size of the container.

Specified by:
preferredLayoutSize in interface LayoutManager
Parameters:
parent - The parent container
Returns:
the preferred layout size
See Also:
LayoutManager.minimumLayoutSize(Container)

previous

public void previous(Container parent)
Cause the previous component in the container to be displayed. If this current card is the first one in the deck, the last component is displayed.

Parameters:
parent - The parent container, not null.

removeLayoutComponent

public void removeLayoutComponent(Component comp)
Remove the indicated component from this layout manager.

Specified by:
removeLayoutComponent in interface LayoutManager
Parameters:
comp - The component to remove

setHgap

public void setHgap(int hgap)
Set this layout manager's horizontal gap.

Parameters:
hgap - The new gap

setVgap

public void setVgap(int vgap)
Set this layout manager's vertical gap.

Parameters:
vgap - The new gap

show

public void show(Container parent,
                 String name)
Cause the named component to be shown. If the component name is unknown or null, this method does nothing.

Parameters:
parent - The parent container, not null.
name - The name of the component to show

toString

public String toString()
Returns a string representation of this layout manager.

Overrides:
toString in class Object
Returns:
A string representation of this object.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)