Module java.desktop
Package java.awt

Class FlowLayout

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属性确定。可能的值包括:

例如,以下图片显示了一个使用流式布局管理器(其默认布局管理器)定位三个按钮的小程序:

三个按钮的布局图

这是该小程序的代码:


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

流式布局允许每个组件采用其自然(首选)大小。

自版本:
1.0
参见:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    此值表示每一行组件应该居中。
    static final int
    此值表示每一行组件应该对齐到容器方向的前导边缘,例如,在从左到右的方向中对齐到左侧。
    static final int
    此值表示每一行组件应该左对齐。
    static final int
    此值表示每一行组件应该右对齐。
    static final int
    此值表示每一行组件应该对齐到容器方向的尾随边缘,例如,在从左到右的方向中对齐到右侧。
  • Constructor Summary

    Constructors
    Constructor
    Description
    使用居中对齐和默认的5个单位水平和垂直间距构造一个新的FlowLayout
    FlowLayout(int align)
    使用指定的对齐方式和默认的5个单位水平和垂直间距构造一个新的FlowLayout
    FlowLayout(int align, int hgap, int vgap)
    创建一个具有指定对齐方式和指定水平和垂直间距的新流式布局管理器。
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    将指定的组件添加到布局中。
    int
    获取此布局的对齐方式。
    boolean
    如果组件应该沿其基线垂直对齐,则返回true。
    int
    获取组件之间以及组件与Container边界之间的水平间距。
    int
    获取组件之间以及组件与Container边界之间的垂直间距。
    void
    布局容器。
    返回布局指定目标容器中包含的可见组件所需的最小尺寸。
    给定指定目标容器中的可见组件,返回此布局的首选尺寸。
    void
    从布局中移除指定的组件。
    void
    setAlignment(int align)
    设置此布局的对齐方式。
    void
    setAlignOnBaseline(boolean alignOnBaseline)
    设置组件是否应该沿其基线垂直对齐。
    void
    setHgap(int hgap)
    设置组件之间以及组件与Container边界之间的水平间距。
    void
    setVgap(int vgap)
    设置组件之间以及组件与Container边界之间的垂直间距。
    返回此FlowLayout对象及其值的字符串表示形式。

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • FlowLayout

      public FlowLayout()
      使用居中对齐和默认的5个单位水平和垂直间距构造一个新的FlowLayout
    • FlowLayout

      public FlowLayout(int align)
      使用指定的对齐方式和默认的5个单位水平和垂直间距构造一个新的FlowLayout。对齐参数的值必须是FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING之一。
      参数:
      align - 对齐值
    • FlowLayout

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

      对齐参数的值必须是FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING之一。

      参数:
      align - 对齐值
      hgap - 组件之间以及组件与Container边界之间的水平间距
      vgap - 组件之间以及组件与Container边界之间的垂直间距
  • Method Details

    • getAlignment

      public int getAlignment()
      获取此布局的对齐方式。可能的值包括FlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTERFlowLayout.LEADINGFlowLayout.TRAILING
      返回:
      此布局的对齐值
      自版本:
      1.1
      参见:
    • setAlignment

      public void setAlignment(int align)
      设置此布局的对齐方式。可能的值包括
      • FlowLayout.LEFT
      • FlowLayout.RIGHT
      • FlowLayout.CENTER
      • FlowLayout.LEADING
      • FlowLayout.TRAILING
      参数:
      align - 上述对齐值之一
      自版本:
      1.1
      参见:
    • getHgap

      public int getHgap()
      获取组件之间以及组件与Container边界之间的水平间距。
      返回:
      组件之间以及组件与Container边界之间的水平间距
      自版本:
      1.1
      参见:
    • setHgap

      public void setHgap(int hgap)
      设置组件之间以及组件与Container边界之间的水平间距。
      参数:
      hgap - 组件之间以及组件与Container边界之间的水平间距
      自版本:
      1.1
      参见:
    • getVgap

      public int getVgap()
      获取组件之间以及组件与Container边界之间的垂直间距。
      返回:
      组件之间以及组件与Container边界之间的垂直间距
      自版本:
      1.1
      参见:
    • setVgap

      public void setVgap(int vgap)
      设置组件之间以及组件与Container边界之间的垂直间距。
      参数:
      vgap - 组件之间以及组件与Container边界之间的垂直间距
      自版本:
      1.1
      参见:
    • 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)
      将指定的组件添加到布局中。此类不使用。
      指定者:
      addLayoutComponent 在接口 LayoutManager
      参数:
      name - 组件的名称
      comp - 要添加的组件
    • removeLayoutComponent

      public void removeLayoutComponent(Component comp)
      从布局中删除指定的组件。此类不使用。
      指定者:
      removeLayoutComponent 在接口 LayoutManager
      参数:
      comp - 要移除的组件
      另请参阅:
    • preferredLayoutSize

      public Dimension preferredLayoutSize(Container target)
      给定指定目标容器中的可见组件,返回此布局的首选尺寸。
      指定者:
      preferredLayoutSize 在接口 LayoutManager
      参数:
      target - 需要布局的容器
      返回:
      为了布局指定容器的子组件而返回的首选尺寸
      另请参阅:
    • minimumLayoutSize

      public Dimension minimumLayoutSize(Container target)
      返回布局指定目标容器中包含的可见组件所需的最小尺寸。
      指定者:
      minimumLayoutSize 在接口 LayoutManager
      参数:
      target - 需要布局的容器
      返回:
      为了布局指定容器的子组件而返回的最小尺寸
      另请参阅:
    • layoutContainer

      public void layoutContainer(Container target)
      对容器进行布局。此方法通过重新调整目标容器中的组件来使每个可见组件采用其首选大小,以满足此FlowLayout对象的对齐方式。
      指定者:
      layoutContainer 在接口 LayoutManager
      参数:
      target - 正在布局的指定组件
      另请参阅:
    • toString

      public String toString()
      返回此FlowLayout对象及其值的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此布局的字符串表示形式