定义card类 java_java.awt 类 CardLayout - Java 中文参考手册

本文介绍了Java AWT中的CardLayout布局管理器,它将容器中的每个组件视为一张卡片,并且一次只显示一张卡片。文章详细解释了CardLayout的工作原理、构造方法及关键API,包括如何浏览卡片和指定显示的卡片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.lang.Object

c8e9f4e075d37a0af332e4af80182959.gifjava.awt.CardLayout

所有已实现的接口:LayoutManager, LayoutManager2, Serializable

public class CardLayoutextends Objectimplements LayoutManager2, Serializable

CardLayout 对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,而容器充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件。

卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout 定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。addLayoutComponent(java.awt.Component, java.lang.Object) 方法可用于将一个字符串标识符与给定卡片相关联,以便进行快速随机访问。

从以下版本开始:

JDK1.0

另请参见:Container,

序列化表格

构造方法摘要

CardLayout()

创建一个间隙大小为 0 的新卡片布局。

CardLayout(inthgap,

intvgap)

创建一个具有指定的水平和垂直间隙的新卡片布局。

方法摘要

void

addLayoutComponent(Componentcomp,

Objectconstraints)

将指定的组件添加到此卡片布局的内部名称表。

void

addLayoutComponent(Stringname,

Componentcomp)

已过时。由 addLayoutComponent(Component, Object) 取代。

void

first(Containerparent)

翻转到容器的第一张卡片。

int

getHgap()

获得组件之间的水平间隙。

float

getLayoutAlignmentX(Containerparent)

返回沿 x 轴的对齐方式。

float

getLayoutAlignmentY(Containerparent)

返回沿 y 轴的对齐方式。

int

getVgap()

获得组件之间的垂直间隙。

void

invalidateLayout(Containertarget)

使布局无效,指示如果布局管理器缓存了信息,则应该将其丢弃。

void

last(Containerparent)

翻转到容器的最后一张卡片。

void

layoutContainer(Containerparent)

使用此卡片布局布置指定的容器。

Dimension

maximumLayoutSize(Containertarget)

给出指定目标容器中的组件,返回此布局的最大维数。

Dimension

minimumLayoutSize(Containerparent)

计算指定面板大小的最小值。

void

next(Containerparent)

翻转到指定容器的下一张卡片。

Dimension

preferredLayoutSize(Containerparent)

使用此卡片布局确定容器参数的首选大小。

void

previous(Containerparent)

翻转到指定容器的前一张卡片。

void

removeLayoutComponent(Componentcomp)

从布局中移除指定的组件。

void

setHgap(inthgap)

设置组件之间的水平间隙。

void

setVgap(intvgap)

设置组件之间的垂直间隙。

void

show(Containerparent,

Stringname)

翻转到已添加到此布局(使用 addLayoutComponent)的具有指定 name 的组件。

String

toString()

返回此卡片布局状态的字符串表示形式。

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

构造方法详细信息

CardLayout

public CardLayout()

创建一个间隙大小为 0 的新卡片布局。

CardLayout

public CardLayout(inthgap,

intvgap)

创建一个具有指定的水平和垂直间隙的新卡片布局。水平间隙置于左右边缘。垂直间隙置于上下边缘。

参数:hgap – 水平间隙。vgap – 垂直间隙。

方法详细信息

getHgap

public int getHgap()

获得组件之间的水平间隙。

返回:组件之间的水平间隙。从以下版本开始:

JDK1.1

另请参见:setHgap(int),

getVgap()

setHgap

public void setHgap(inthgap)

设置组件之间的水平间隙。

参数:hgap – 组件之间的水平间隙。从以下版本开始:

JDK1.1

另请参见:getHgap(),

setVgap(int)

getVgap

public int getVgap()

获得组件之间的垂直间隙。

返回:组件之间的垂直间隙。另请参见:setVgap(int),

getHgap()

setVgap

public void setVgap(intvgap)

设置组件之间的垂直间隙。

参数:vgap – 组件之间的垂直间隙。从以下版本开始:

JDK1.1

另请参见:getVgap(),

setHgap(int)

addLayoutComponent

public void addLayoutComponent(Componentcomp,

Objectconstraints)

将指定的组件添加到此卡片布局的内部名称表。constraints 指定的对象必须是一个字符串。卡片布局将此字符串作为一个键-值对存储起来,该键-值对可用于对特定卡片的随机访问。通过调用 show 方法,应用程序可以显示具有指定名称的组件。

指定者:接口 LayoutManager2 中的 addLayoutComponent

参数:comp – 要添加的组件。constraints – 标识布局中特定卡片的标记。抛出:IllegalArgumentException – 如果 constraint 不是一个字符串。另请参见:show(java.awt.Container, java.lang.String)

addLayoutComponent

@Deprecated

public void addLayoutComponent(Stringname,

Componentcomp)

已过时。由 addLayoutComponent(Component, Object) 取代。

从接口 LayoutManager 复制的描述

如果布局管理器使用每组件字符串,则将组件 comp 添加到布局,并将其与 name 指定的字符串关联。

指定者:接口 LayoutManager 中的 addLayoutComponent

参数:name – 要与组件关联的字符串comp – 要添加的组件

removeLayoutComponent

public void removeLayoutComponent(Componentcomp)

从布局中移除指定的组件。

指定者:接口 LayoutManager 中的 removeLayoutComponent

参数:comp – 要移除的组件。另请参见:Container.remove(java.awt.Component),

Container.removeAll()

preferredLayoutSize

public Dimension preferredLayoutSize(Containerparent)

使用此卡片布局确定容器参数的首选大小。

指定者:接口 LayoutManager 中的 preferredLayoutSize

参数:parent – 要在其中进行布局的父容器返回:布置指定容器的子组件的首选维数另请参见:Container.getPreferredSize(),

minimumLayoutSize(java.awt.Container)

minimumLayoutSize

public Dimension minimumLayoutSize(Containerparent)

计算指定面板大小的最小值。

指定者:接口 LayoutManager 中的 minimumLayoutSize

参数:parent – 要在其中进行布局的父容器返回:布置指定容器的子组件所需的最小维数另请参见:Container.doLayout(),

preferredLayoutSize(java.awt.Container)

maximumLayoutSize

public Dimension maximumLayoutSize(Containertarget)

给出指定目标容器中的组件,返回此布局的最大维数。

指定者:接口 LayoutManager2 中的 maximumLayoutSize

参数:target – 需要布置的组件另请参见:Container,

minimumLayoutSize(java.awt.Container),

preferredLayoutSize(java.awt.Container)

getLayoutAlignmentX

public float getLayoutAlignmentX(Containerparent)

返回沿 x 轴的对齐方式。这指定了如何相对于其他组件来对齐该组件。返回值应该在 0 和 1 之间,其中 0 表示沿原点对齐组件,1 表示从离原点最远的地方对齐,0.5 表示从中间对齐,等等。

指定者:接口 LayoutManager2 中的 getLayoutAlignmentX

getLayoutAlignmentY

public float getLayoutAlignmentY(Containerparent)

返回沿 y 轴的对齐方式。这指定了如何相对于其他组件来对齐该组件。返回值应该在 0 和 1 之间,其中 0 表示沿原点对齐组件,1 表示从离原点最远的地方对齐,0.5 表示从中间对齐,等等。

指定者:接口 LayoutManager2 中的 getLayoutAlignmentY

invalidateLayout

public void invalidateLayout(Containertarget)

使布局无效,指示如果布局管理器缓存了信息,则应该将其丢弃。

指定者:接口 LayoutManager2 中的 invalidateLayout

layoutContainer

public void layoutContainer(Containerparent)

使用此卡片布局布置指定的容器。

在 parent(父)容器中的每个组件的尺寸要变为容器的尺寸减去组件四周 insets 的空间,再减去水平间隙和垂直间隙。

指定者:接口 LayoutManager 中的 layoutContainer

参数:parent – 要在其中进行布局的父容器另请参见:Container.doLayout()

first

public void first(Containerparent)

翻转到容器的第一张卡片。

参数:parent – 要在其中进行布局的父容器另请参见:last(java.awt.Container)

next

public void next(Containerparent)

翻转到指定容器的下一张卡片。如果当前的可见卡片是最后一个,则此方法翻转到布局的第一张卡片。

参数:parent – 要在其中进行布局的父容器另请参见:jjava.awt.CardLayout#previous

previous

public void previous(Containerparent)

翻转到指定容器的前一张卡片。如果当前的可见卡片是第一个,则此方法翻转到布局的最后一张卡片。

参数:parent – 要在其中进行布局的父容器另请参见:next(java.awt.Container)

last

public void last(Containerparent)

翻转到容器的最后一张卡片。

参数:parent – 要在其中进行布局的父容器另请参见:first(java.awt.Container)

show

public void show(Containerparent,

Stringname)

翻转到已添加到此布局(使用 addLayoutComponent)的具有指定 name 的组件。如果不存在这样的组件,则不发生任何操作。

参数:parent – 要在其中进行布局的父容器name – 组件名称另请参见:addLayoutComponent(java.awt.Component, java.lang.Object)

toString

public String toString()

返回此卡片布局状态的字符串表示形式。

覆盖:类 Object 中的 toString

返回:此卡片布局的字符串表示形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值