public class CardLayout
extends Object
implements LayoutManager2, Serializable

A CardLayout object is a layout manager for a container. It treats each component in the container as a card. Only one card is visible at a time, and the container acts as a stack of cards. The first component added to a CardLayout object is the visible component when the container is first displayed.

The ordering of cards is determined by the container's own internal ordering of its component objects. CardLayout defines a set of methods that allow an application to flip through these cards sequentially, or to show a specified card. The CardLayout#addLayoutComponent method can be used to associate a string identifier with a given card for fast random access.

public CardLayout()

Creates a new card layout with gaps of size zero.

public CardLayout(int, int)

Creates a new card layout with the specified horizontal and vertical gaps. The horizontal gaps are placed at the left and right edges. The vertical gaps are placed at the top and bottom edges.

Parameters

int hgap: the horizontal gap.

int vgap: the vertical gap.

public void addLayoutComponent(Component, Object)

Adds the specified component to this card layout's internal table of names. The object specified by constraints must be a string. The card layout stores this string as a key-value pair that can be used for random access to a particular card. By calling the show method, an application can display the component with the specified name.

Parameters

Component comp: the component to be added.

Object constraints: a tag that identifies a particular card in the layout.

Throws

IllegalArgumentException: if the constraint is not a string.

public void addLayoutComponent(String, Component)

Parameters

public void first(Container)

Flips to the first card of the container.

Parameters

Container parent: the parent container in which to do the layout

public int getHgap()

Gets the horizontal gap between components.

public float getLayoutAlignmentX(Container)

Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

Parameters

public float getLayoutAlignmentY(Container)

Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.

Parameters

public int getVgap()

Gets the vertical gap between components.

public void invalidateLayout(Container)

Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.

Parameters

public void last(Container)

Flips to the last card of the container.

Parameters

Container parent: the parent container in which to do the layout

public void layoutContainer(Container)

Lays out the specified container using this card layout.

Each component in the parent container is reshaped to be the size of the container, minus space for surrounding insets, horizontal gaps, and vertical gaps.

Parameters

Container parent: the parent container in which to do the layout

public Dimension maximumLayoutSize(Container)

Returns the maximum dimensions for this layout given the components in the specified target container.

Parameters

Container target: the component which needs to be laid out

public Dimension minimumLayoutSize(Container)

Calculates the minimum size for the specified panel.

Parameters

Container parent: the parent container in which to do the layout

public void next(Container)

Flips to the next card of the specified container. If the currently visible card is the last one, this method flips to the first card in the layout.

Parameters

Container parent: the parent container in which to do the layout

public Dimension preferredLayoutSize(Container)

Determines the preferred size of the container argument using this card layout.

Parameters

Container parent: the parent container in which to do the layout

public void previous(Container)

Flips to the previous card of the specified container. If the currently visible card is the first one, this method flips to the last card in the layout.

Parameters

Container parent: the parent container in which to do the layout

public void removeLayoutComponent(Component)

Removes the specified component from the layout. If the card was visible on top, the next card underneath it is shown.

Parameters

Component comp: the component to be removed.

public void setHgap(int)

Sets the horizontal gap between components.

Parameters

int hgap: the horizontal gap between components.

public void setVgap(int)

Sets the vertical gap between components.

Parameters

int vgap: the vertical gap between components.

public void show(Container, String)

Flips to the component that was added to this layout with the specified name, using addLayoutComponent. If no such component exists, then nothing happens.

Parameters

Container parent: the parent container in which to do the layout

String name: the component name

public String toString()

Returns a string representation of the state of this card layout.