您的位置:首页 > 编程语言 > Java开发

java.awt包中组件的布局

2010-02-25 15:47 295 查看
容器可以调用setLayout(布局对象)方法来设置自己的布局

1.流水布局:FlowLayout

布局策略:加入到容器中的组件将按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列,每一行中的组件都

居中对齐,组件之间的默认水平和垂直间隙是5个像素,组件的大小为默认的最佳大小

构造方法:FlowLayout()

常用方法:setHgap(int hgap):重新设置布局的水平间隙hgap

setVgap(int vgap):重新设置布局的垂直间隙vgap

public void setAlignment(int n):重新设置容器布局的对齐方式,n取值如下

FlowLayout.LEFT,FlowLayout.CENTER,FlowLayout.RIGHT

注意:对于添加到使用这种布局的容器中的组件,组件调用setSize(int x,int y)方法设置的大小无效

2.边界布局:BorderLayout

布局策略:使用这种布局的容器最多只能添加5个组件,并且必须使用以下方法将组件添加到容器中

public void add(组件名,int n):n决定将组件添加到容器中的哪个区域,取值如下:BorderLayout.NORTH,

BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST,

BorderLayout.CENTER

注意:添加到某个区域的组件将占据整个区域,每个区域只能放置一个组件,如果向某个已放置了组件的区域再放置一个组件,则先前

的组件将被后者替换掉

3.牌式布局:CardLayout

布局策略:在同一时刻,只能从加入到容器中的组件中选出一个来显示,这个被显示的组件将占据所有的容器空间

使用这种容器的步骤如下:

A.创建一个CardLayout对象:CardLayout card=new CardLayout();

B.将某个容器con的布局设置为该布局:con.setLayout(card);

C.容器con调用以下方法将组件添加到容器中

add(String s,Component b)

b:组件名

s:组件的代号,不同的组件代号应互不相同

D.CardLayout对象可以调用以下方法显示容器中的组件

show(容器名,组件代号):显示指定代号的组件

first(容器名):显示加入到容器中的第一个组件

last(容器名):显示最后一个组件

previous(容器名):显示上一个组件

next(容器名):显示下一个组件

4. 网格布局:GridLayout

布局策略:把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中;每个网格都是大小相同并且强

制组件与网格的大小相同

构造方法:GridLayout(int m,int n)

m为行数,n为列数

5.盒式布局:BoxLayout

该类在javax.swing.border包中,而不是在包java.awt中

布局策略:加入到容器中的组件排列在一行(或一列),组件按照加入的先后的顺序从左向右(或从上向下)排列,容器的两端是剩余的空间

,即使组件再多,也不会延伸到下一行(或下一列),这些组件可能会被缩小大小,紧缩在这一行(或一列)中

构造方法:BoxLayout(容器名,int axis)

axis决定盒式布局是行型盒式布局还是列型盒式布局,取值如下

BoxLayout.X_AXIS:行型

BoxLayout.Y_AXIS:列型

Box:它是一个盒式容器,其默认布局为盒式布局,而且不允许更改盒式容器的布局;它也是在包javax.swing中

构造方法:createHorizontalBox():获取一个行型盒式布局的盒式容器

createVerticalBox():获取一个列型盒式布局的盒式容器

常用类方法:createHorizontalStruct(int width):设置盒式容器中组件的水平间隙width

createVerticalStruct(int height):设置盒式容器中组件的垂直间隙height

6.空布局:null

当一个组件使用setBounds(int a,int b,int width,int height)方法将其定位在容器中的某个位置后,如果容器不使用空布局,

则setBounds(int a,int b,int width,int height)方法将失效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: