java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.FlowLayout
所有已实现的接口:
LayoutManager, Serializable

public class FlowLayout
     
extends Object
implements LayoutManager, Serializable

流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向取决于容器的 componentOrientation 属性,它可能是以下两个值中的一个:

  • ComponentOrientation.LEFT_TO_RIGHT
  • ComponentOrientation.RIGHT_TO_LEFT
流布局一般用来安排面板中的按钮。它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属性确定。可能的值为:

例如,以下图片显示了使用流布局管理器(它的默认布局管理器)来定位三个按钮的 applet:

三个按钮的布局图形

以下是此 applet 的代码:


 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);
     }
 }
 

流布局把每个组件都假定为它的自然(首选)大小。

从以下版本开始:
JDK1.0
另请参见:
ComponentOrientation, 序列化表格

字段摘要
static int CENTER
          此值指示每一行组件都应该是居中的。
static int LEADING
          此值指示每一行组件都应该与容器方向的开始边对齐,例如,对于从左到右的方向,则与左边对齐。
static int LEFT
          此值指示每一行组件都应该是左对齐的。
static int RIGHT
          此值指示每一行组件都应该是右对齐的。
static int TRAILING
          此值指示每行组件都应该与容器方向的结束边对齐,例如,对于从左到右的方向,则与右边对齐。
 
构造方法摘要
FlowLayout()
          构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位。
FlowLayout(int align)
          构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位。
FlowLayout(int align, int hgap, int vgap)
          创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。
 
方法摘要
 void addLayoutComponent(String name, Component comp)
          将指定的组件添加到布局中。
 int getAlignment()
          获取此布局的对齐方式。
 boolean getAlignOnBaseline()
          如果组件将沿其基线垂直对齐,则返回 true。
 int getHgap()
          获取组件之间以及组件与 Container 的边之间的水平间隙。
 int getVgap()
          获取组件之间以及组件与 Container 的边之间的垂直间隙。
 void layoutContainer(Container target)
          布置该容器。
 Dimension minimumLayoutSize(Container target)
          返回需要布置 visible 组件的最小维数,该组件包含在指定的目标容器中。
 Dimension preferredLayoutSize(Container target)
          给出指定目标容器中的 visible 组件,返回此布局的首选维数。
 void removeLayoutComponent(Component comp)
          从布局中移除指定的组件。
 void setAlignment(int align)
          设置此布局的对齐方式。
 void setAlignOnBaseline(boolean alignOnBaseline)
          设置组件是否应该沿着其基线垂直对齐。
 void setHgap(int hgap)
          设置组件之间以及组件与 Container 的边之间的水平间隙。
 void setVgap(int vgap)
          设置组件之间以及组件与 Container 的边之间的垂直间隙。
 String toString()
          返回此 FlowLayout 对象及其值的字符串表示形式。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

LEFT

public static final int LEFT
此值指示每一行组件都应该是左对齐的。

另请参见:
常量字段值

CENTER

public static final int CENTER
此值指示每一行组件都应该是居中的。

另请参见:
常量字段值

RIGHT

public static final int RIGHT
此值指示每一行组件都应该是右对齐的。

另请参见:
常量字段值

LEADING

public static final int LEADING
此值指示每一行组件都应该与容器方向的开始边对齐,例如,对于从左到右的方向,则与左边对齐。

从以下版本开始:
1.2
另请参见:
Component.getComponentOrientation(), ComponentOrientation, 常量字段值

TRAILING

public static final int TRAILING
此值指示每行组件都应该与容器方向的结束边对齐,例如,对于从左到右的方向,则与右边对齐。

从以下版本开始:
1.2
另请参见:
Component.getComponentOrientation(), ComponentOrientation, 常量字段值
构造方法详细信息

FlowLayout

public FlowLayout()
构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位。


FlowLayout

public FlowLayout(int align)
构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位。align 参数的值必须是以下值之一: FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING

参数:
align - 对齐值

FlowLayout

public FlowLayout(int align,
                  int hgap,
                  int vgap)
创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。

align 参数的值必须是以下值之一:FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING

参数:
align - 对齐值
hgap - 组件之间以及组件与 Container 的边之间的水平间隙
vgap - 组件之间以及组件与 Container 的边之间的垂直间隙
方法详细信息

getAlignment

public int getAlignment()
获取此布局的对齐方式。可能的值是 FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING

返回:
此布局的对齐值
从以下版本开始:
JDK1.1
另请参见:
setAlignment(int)

setAlignment

public void setAlignment(int align)
设置此布局的对齐方式。可能的值是
  • FlowLayout.LEFT
  • FlowLayout.RIGHT
  • FlowLayout.CENTER
  • FlowLayout.LEADING
  • FlowLayout.TRAILING

参数:
align - 上面显示的对齐值之一
从以下版本开始:
JDK1.1
另请参见:
getAlignment()

getHgap

public int getHgap()
获取组件之间以及组件与 Container 的边之间的水平间隙。

返回:
组件之间以及组件与 Container 的边之间的水平间隙
从以下版本开始:
JDK1.1
另请参见:
setHgap(int)

setHgap

public void setHgap(int hgap)
设置组件之间以及组件与 Container 的边之间的水平间隙。

参数:
hgap - 组件之间以及组件与 Container 的边之间的水平间隙
从以下版本开始:
JDK1.1
另请参见:
getHgap()

getVgap

public int getVgap()
获取组件之间以及组件与 Container 的边之间的垂直间隙。

返回:
组件之间以及组件与 Container 的边之间的垂直间隙
从以下版本开始:
JDK1.1
另请参见:
setVgap(int)

setVgap

public void setVgap(int vgap)
设置组件之间以及组件与 Container 的边之间的垂直间隙。

参数:
vgap - 组件之间以及组件与 Container 的边之间的垂直间隙
从以下版本开始:
JDK1.1
另请参见:
getVgap()

setAlignOnBaseline

public void setAlignOnBaseline(boolean alignOnBaseline)
设置组件是否应该沿着其基线垂直对齐。没有基线的组件将中心对齐。默认值为 false。

参数:
alignOnBaseline - 组件是否应该沿着其基线垂直对齐
从以下版本开始:
1.6

getAlignOnBaseline

public boolean getAlignOnBaseline()
如果组件将沿其基线垂直对齐,则返回 true。默认值为 false。

返回:
true 如果组件将沿其基线垂直对齐
从以下版本开始:
1.6

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)
将指定的组件添加到布局中。不能被此类使用。

指定者:
接口 LayoutManager 中的 addLayoutComponent
参数:
name - 组件的名称
comp - 要添加的组件

removeLayoutComponent

public void removeLayoutComponent(Component comp)
从布局中移除指定的组件。不能被此类使用。

指定者:
接口 LayoutManager 中的 removeLayoutComponent
参数:
comp - 要移除的组件
另请参见:
Container.removeAll()

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
给出指定目标容器中的 visible 组件,返回此布局的首选维数。

指定者:
接口 LayoutManager 中的 preferredLayoutSize
参数:
target - 需要布置的容器
返回:
布置指定容器的子组件的首选维数
另请参见:
Container, minimumLayoutSize(java.awt.Container), Container.getPreferredSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
返回需要布置 visible 组件的最小维数,该组件包含在指定的目标容器中。

指定者:
接口 LayoutManager 中的 minimumLayoutSize
参数:
target - 需要布置的容器
返回:
布置指定容器的子组件的最小维数
另请参见:
preferredLayoutSize(java.awt.Container), Container, Container.doLayout()

layoutContainer

public void layoutContainer(Container target)
布置该容器。此方法让每个 visible 组件都采用它的首选大小,这通过对目标容器中的组件进行整形得以实现,以满足此 FlowLayout 对象的对齐方式。

指定者:
接口 LayoutManager 中的 layoutContainer
参数:
target - 正被布置的指定组件
另请参见:
Container, Container.doLayout()

toString

public String toString()
返回此 FlowLayout 对象及其值的字符串表示形式。

覆盖:
Object 中的 toString
返回:
此布局的字符串表示形式