- java.lang.Object
-
- java.awt.CardLayout
-
- All Implemented Interfaces:
- LayoutManager, LayoutManager2, Serializable
public class CardLayout extends Object implements LayoutManager2, Serializable
ACardLayout
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 aCardLayout
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. TheaddLayoutComponent(java.awt.Component, java.lang.Object)
method can be used to associate a string identifier with a given card for fast random access.- Since:
- JDK1.0
- See Also:
Container
, Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description CardLayout()
Creates a new card layout with gaps of size zero.CardLayout(int hgap, int vgap)
Creates a new card layout with the specified horizontal and vertical gaps.
-
Method Summary
Methods Modifier and Type Method and Description void
addLayoutComponent(Component comp, Object constraints)
Adds the specified component to this card layout's internal table of names.void
addLayoutComponent(String name, Component comp)
Deprecated.replaced byaddLayoutComponent(Component, Object)
.void
first(Container parent)
Flips to the first card of the container.int
getHgap()
Gets the horizontal gap between components.float
getLayoutAlignmentX(Container parent)
Returns the alignment along the x axis.float
getLayoutAlignmentY(Container parent)
Returns the alignment along the y axis.int
getVgap()
Gets the vertical gap between components.void
invalidateLayout(Container target)
Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.void
last(Container parent)
Flips to the last card of the container.void
layoutContainer(Container parent)
Lays out the specified container using this card layout.Dimension
maximumLayoutSize(Container target)
Returns the maximum dimensions for this layout given the components in the specified target container.Dimension
minimumLayoutSize(Container parent)
Calculates the minimum size for the specified panel.void
next(Container parent)
Flips to the next card of the specified container.Dimension
preferredLayoutSize(Container parent)
Determines the preferred size of the container argument using this card layout.void
previous(Container parent)
Flips to the previous card of the specified container.void
removeLayoutComponent(Component comp)
Removes the specified component from the layout.void
setHgap(int hgap)
Sets the horizontal gap between components.void
setVgap(int vgap)
Sets the vertical gap between components.void
show(Container parent, String name)
Flips to the component that was added to this layout with the specifiedname
, usingaddLayoutComponent
.String
toString()
Returns a string representation of the state of this card layout.
-
-
-
Constructor Detail
-
CardLayout
public CardLayout()
Creates a new card layout with gaps of size zero.
-
CardLayout
public CardLayout(int hgap, int vgap)
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:
hgap
- the horizontal gap.vgap
- the vertical gap.
-
-
Method Detail
-
getHgap
public int getHgap()
Gets the horizontal gap between components.- Returns:
- the horizontal gap between components.
- Since:
- JDK1.1
- See Also:
setHgap(int)
,getVgap()
-
setHgap
public void setHgap(int hgap)
Sets the horizontal gap between components.- Parameters:
hgap
- the horizontal gap between components.- Since:
- JDK1.1
- See Also:
getHgap()
,setVgap(int)
-
getVgap
public int getVgap()
Gets the vertical gap between components.- Returns:
- the vertical gap between components.
- See Also:
setVgap(int)
,getHgap()
-
setVgap
public void setVgap(int vgap)
Sets the vertical gap between components.- Parameters:
vgap
- the vertical gap between components.- Since:
- JDK1.1
- See Also:
getVgap()
,setHgap(int)
-
addLayoutComponent
public void addLayoutComponent(Component comp, Object constraints)
Adds the specified component to this card layout's internal table of names. The object specified byconstraints
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 theshow
method, an application can display the component with the specified name.- Specified by:
addLayoutComponent
in interfaceLayoutManager2
- Parameters:
comp
- the component to be added.constraints
- a tag that identifies a particular card in the layout.- Throws:
IllegalArgumentException
- if the constraint is not a string.- See Also:
show(java.awt.Container, java.lang.String)
-
addLayoutComponent
@Deprecated public void addLayoutComponent(String name, Component comp)
Deprecated. replaced byaddLayoutComponent(Component, Object)
.Description copied from interface:LayoutManager
If the layout manager uses a per-component string, adds the componentcomp
to the layout, associating it with the string specified byname
.- Specified by:
addLayoutComponent
in interfaceLayoutManager
- Parameters:
name
- the string to be associated with the componentcomp
- the component to be added
-
removeLayoutComponent
public void removeLayoutComponent(Component comp)
Removes the specified component from the layout. If the card was visible on top, the next card underneath it is shown.- Specified by:
removeLayoutComponent
in interfaceLayoutManager
- Parameters:
comp
- the component to be removed.- See Also:
Container.remove(java.awt.Component)
,Container.removeAll()
-
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
Determines the preferred size of the container argument using this card layout.- Specified by:
preferredLayoutSize
in interfaceLayoutManager
- Parameters:
parent
- the parent container in which to do the layout- Returns:
- the preferred dimensions to lay out the subcomponents of the specified container
- See Also:
Container.getPreferredSize()
,minimumLayoutSize(java.awt.Container)
-
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
Calculates the minimum size for the specified panel.- Specified by:
minimumLayoutSize
in interfaceLayoutManager
- Parameters:
parent
- the parent container in which to do the layout- Returns:
- the minimum dimensions required to lay out the subcomponents of the specified container
- See Also:
Container.doLayout()
,preferredLayoutSize(java.awt.Container)
-
maximumLayoutSize
public Dimension maximumLayoutSize(Container target)
Returns the maximum dimensions for this layout given the components in the specified target container.- Specified by:
maximumLayoutSize
in interfaceLayoutManager2
- Parameters:
target
- the component which needs to be laid out- See Also:
Container
,minimumLayoutSize(java.awt.Container)
,preferredLayoutSize(java.awt.Container)
-
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)
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.- Specified by:
getLayoutAlignmentX
in interfaceLayoutManager2
-
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)
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.- Specified by:
getLayoutAlignmentY
in interfaceLayoutManager2
-
invalidateLayout
public void invalidateLayout(Container target)
Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.- Specified by:
invalidateLayout
in interfaceLayoutManager2
-
layoutContainer
public void layoutContainer(Container parent)
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.- Specified by:
layoutContainer
in interfaceLayoutManager
- Parameters:
parent
- the parent container in which to do the layout- See Also:
Container.doLayout()
-
first
public void first(Container parent)
Flips to the first card of the container.- Parameters:
parent
- the parent container in which to do the layout- See Also:
last(java.awt.Container)
-
next
public void next(Container parent)
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:
parent
- the parent container in which to do the layout- See Also:
previous(java.awt.Container)
-
previous
public void previous(Container parent)
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:
parent
- the parent container in which to do the layout- See Also:
next(java.awt.Container)
-
last
public void last(Container parent)
Flips to the last card of the container.- Parameters:
parent
- the parent container in which to do the layout- See Also:
first(java.awt.Container)
-
show
public void show(Container parent, String name)
Flips to the component that was added to this layout with the specifiedname
, usingaddLayoutComponent
. If no such component exists, then nothing happens.- Parameters:
parent
- the parent container in which to do the layoutname
- the component name- See Also:
addLayoutComponent(java.awt.Component, java.lang.Object)
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
22/12/2024 22:02:56 Cette version de la page est en cache (à la date du 22/12/2024 22:02:56) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 29/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/awt/cardlayout.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.