文档详情

Swing布局管理器文档.doc

发布:2024-03-13约1.83万字共37页下载文档
文本预览下载声明

Swing布局管理器文档

天一Star整体编著

概述

布局管理器的实现

布局管理器是一个实现了接口LayoutManager或LayoutManger2的一个类;

布局管理器的责任有:

·计算一个容器的首选尺寸、最小尺寸及最大尺寸。

·布置一个容器内的组件。

LayoutManager是一个接口,它定义了以下几个方法:

voidaddLayoutComponent(Stringname,Componentcomp)

voidremoveLayoutCompoenet(Stringname,Componentcomp)

DimensionpreferredLayoutSize(Containerparent)

DimensionminimumLayoutSize(Containerparent)

voidLayoutContainer(Containerparent)

LayoutManger2也是一个接口,它扩展了LayoutManger接口,包含方法如下:

voidaddLayoutComponent(Componentc,Objectconstraints)

DimensionmaximumLayoutSize(Container)

floatgetLayoutAlignmentx(Containerparent)

floatgetLayoutAlignmenty(Containerparent)

voidinvalidateLayout(Containerparent)

5,对LayoutManager2接口方法的说明

addLayoutComponent()允许向一个带有约束条件的布局管理器添加组件。

组成一个约束条件的对象的类型应符合LayoutManager2接口的需求。

例如,GridBagLayout的约束条件必须是一个GridBagConstraints引用,然而BorderLayout需要的约束条件是一个字符串。

maximumLayoutSize()返回容器的最大尺寸,而该容器已经给出了组件的当前约束条件。

getLayoutAlignment...方法被一些布局管理器用来沿着x和y轴定位组件。

invalidateLayout()表示布局管理器应该抛弃任何它隐藏的涉及约束条件的信息。

6标准AWT布局管理器实现的接口

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

布局管理器实现的接口字符串规定方位

─────────────────────────────────

BorderLayoutLayoutManager2字符串规定方位

CardLayoutLayoutManager2字符串规定名字

FlowLayoutLayoutManager无

GridBagLayoutLayoutManager2GridBagConstaints规定网格约束条件

GridLayoutLayoutManager无

─────────────────────────────────

7,布局管理器和组件首选尺寸

组件实现下面两个影响组件和布局管理器之间相互作用的方法:

//Componentmethods

publicDimensiongetPreferredSize();

publicDimensiongetMinimumSize();

从它们的名字可以猜到,getPreferredSize()返回组件的首选尺寸,getMinimumSize()返回组件可以接受的最小尺寸。

通过实现LayoutManager接口中的下列方法,布局管理器计算一个容器的首选和最小尺寸:

//LayoutMangermethods

DimensionpreferredLayoutSize(Container);

DimensionminimumLayoutSize(Container);

通常,这些方法循环容器中的所有组件,并利用每个组件的首选和最小尺寸计算容器的首选和最小尺寸。

布局管理器在layoutContainer()方法中布置组件:

voidlayoutContainer(Container);

一些布局管理器完全忽略它们所布置组件的首选尺寸,而另一些则很容易接受组件的请求,即根据它们的首选尺寸进行整形。尽管如此仍有一些布局管理器将只注意组件首选尺寸的一部分,BorderLayout将保留北边组件的首选高度,忽略组件的首选宽度,因此在水平方向扩展组

显示全部
相似文档