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

常用的java 布局管理器

2014-05-06 19:51 190 查看
布局管理器:管理组件,显示更好布局。
常用的布局管理器:1、FlowLayout 流式布局API中说明:流布局一般用来安排面板中的按钮。它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。线的对齐方式由
align
属性确定。可能的值为:
LEFT


RIGHT


CENTER


LEADING


TRAILING


import java.awt.*;
import java.applet.Applet;
public class myButtons extends Applet {
Button button1, button2, button3;
public void init() {
button1 = new Button("Ok");
button2 = new Button("Open");
button3 = new Button("Close");
add(button1);
add(button2);
add(button3);
}
}
2、BorderLayout边框式布局API说明:这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:
NORTH
SOUTH
EAST
WEST
CENTER
。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一,例如:
Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH);
为了方便起见,
BorderLayout
将缺少字符串说明的情况解释为常量
CENTER
Panel p2 = new Panel(); p2.setLayout(new BorderLayout()); p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);
此外,
BorderLayout
支持相对定位常量
PAGE_START
PAGE_END
LINE_START
LINE_END
。在
ComponentOrientation
设置为
ComponentOrientation.LEFT_TO_RIGHT
的容器中,这些常量分别映射到
NORTH
SOUTH
WEST
EAST
。3、GridLayout网格布局API说明:
GridLayout
类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。例如,下面是一个将六个按钮布置到三行两列中的applet:
import java.awt.*;
import java.applet.Applet;
public class ButtonGrid extends Applet {
 public void init() {
setLayout(new GridLayout(3,2));
add(new Button("1"));
add(new Button("2"));
add(new Button("3"));
add(new Button("4"));
add(new Button("5"));
add(new Button("6"));
 }
}
4、CardLayout卡片布局API说明:
CardLayout
对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到
CardLayout
对象的组件为可见组件。卡片的顺序由组件对象本身在容器内部的顺序决定。
CardLayout
定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。
addLayoutComponent(java.awt.Component, java.lang.Object)
方法可用于将一个字符串标识符与给定卡片关联,以便进行快速随机访问。
5、BoxLayout盒式布局API说明:允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。BoxLayout 管理器是用 axis 参数构造的,该参数指定了将进行的布局类型。有四个选择:X_AXIS:从左到右水平布置组件。Y_AXIS:从上到下垂直布置组件。LINE_AXIS:根据容器的ComponentOrientation属性,按照文字在一行中的排列方式布置组件。如果容器的ComponentOrientation表示水平,则将组件水平放置,否则将它们垂直放置。对于水平方向,如果容器的ComponentOrientation表示从左到右,则组件从左到右放置,否则将它们从右到左放置。对于垂直方向,组件总是从上到下放置的。PAGE_AXIS:根据容器的ComponentOrientation属性,按照文本行在一页中的排列方式布置组件。如果容器的ComponentOrientation表示水平,则将组件垂直放置,否则将它们水平放置。对于水平方向,如果容器的ComponentOrientation表示从左到右,则组件从左到右放置,否则将它们从右到左放置。对于垂直方向,组件总是从上向下放置的。对于所有方向,组件按照将它们添加到容器中的顺序排列。BoxLayout 试图按照组件的首选宽度(对于水平布局)或首选高度(对于垂直布局)来排列它们。对于水平布局,如果并不是所有的组件都具有相同的高度,则 BoxLayout 会试图让所有组件都具有最高组件的高度。如果对于某一特定组件而言这是不可能的,则 BoxLayout 会根据该组件的 Y 调整值对它进行垂直调整。默认情况下,组件的 Y 调整值为 0.5,这意味着组件的垂直中心应该与其他 Y 调整值为 0.5 的组件的垂直中心具有相同 Y 坐标。同样地,对于垂直布局,BoxLayout 试图让列中的所有组件具有最宽组件的宽度。如果这样做失败,则 BoxLayout 会根据这些组件的 X 调整值对它进行水平调整。对于
PAGE_AXIS
布局,基于组件的开始边水平调整。换句话说,如果容器的
ComponentOrientation
表示从左到右,则 X 调整值为 0.0 意味着组件的左边缘,否则它意味着组件的右边缘。许多程序使用 Box 类,而不是直接使用 BoxLayout。Box 类是使用 BoxLayout 的轻量级容器。它还提供了一些帮助您很好地使用 BoxLayout 的便利方法。要获取您想要的排列,将组件添加到多个嵌套的 box 中是一种功能强大的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 布局