java.awt

Class CardLayout

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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

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 Details

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

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

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

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

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 interface Object
Returns:
A string representation of this object.

CardLayout.java -- Card-based layout engine Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.