This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


java.awt
class FlowLayout

java.lang.Object extended by java.awt.FlowLayout
All Implemented Interfaces:
LayoutManager, Serializable

Most common way to construct:

FlowLayout flowLayout = new FlowLayout();

Based on 103 examples


public class FlowLayout
extends Object
implements LayoutManager, Serializable

A flow layout arranges components in a directional flow, much like lines of text in a paragraph. The flow direction is determined by the container's componentOrientation property and may be one of two values:

Flow layouts are typically used to arrange buttons in a panel. It arranges buttons horizontally until no more buttons fit on the same line. The line alignment is determined by the align property. The possible values are:

For example, the following picture shows an applet using the flow layout manager (its default layout manager) to position three buttons:

Graphic of Layout for Three Buttons

Here is the code for this 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);
     }
 }
 

A flow layout lets each component assume its natural (preferred) size.


Field Summary
static int CENTER
          This value indicates that each row of components should be centered.
static int LEADING
          This value indicates that each row of components should be justified to the leading edge of the container's orientation, for example, to the left in left-to-right orientations.
static int LEFT
          This value indicates that each row of components should be left-justified.
static int RIGHT
          This value indicates that each row of components should be right-justified.
static int TRAILING
          This value indicates that each row of components should be justified to the trailing edge of the container's orientation, for example, to the right in left-to-right orientations.
 
Constructor Summary

          Constructs a new FlowLayout with a centered alignment and a default 5-unit horizontal and vertical gap.
FlowLayout(int align)

          Constructs a new FlowLayout with the specified alignment and a default 5-unit horizontal and vertical gap.
FlowLayout(int align, int hgap, int vgap)

          Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.
 
Method Summary
 void

          Adds the specified component to the layout.
 int

          Gets the alignment for this layout.
 boolean

          Returns true if components are to be vertically aligned along their baseline.
 int

          Gets the horizontal gap between components and between the components and the borders of the Container
 int

          Gets the vertical gap between components and between the components and the borders of the Container.
 void

          Lays out the container.
 Dimension

          Returns the minimum dimensions needed to layout the visible components contained in the specified target container.
 Dimension

          Returns the preferred dimensions for this layout given the visible components in the specified target container.
 void

          Removes the specified component from the layout.
 void
setAlignment(int align)

          Sets the alignment for this layout.
 void
setAlignOnBaseline(boolean alignOnBaseline)

          Sets whether or not components should be vertically aligned along their baseline.
 void
setHgap(int hgap)

          Sets the horizontal gap between components and between the components and the borders of the Container.
 void
setVgap(int vgap)

          Sets the vertical gap between components and between the components and the borders of the Container.
 String

          Returns a string representation of this FlowLayout object and its values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CENTER

public static final int CENTER
This value indicates that each row of components should be centered.

LEADING

public static final int LEADING
This value indicates that each row of components should be justified to the leading edge of the container's orientation, for example, to the left in left-to-right orientations.

LEFT

public static final int LEFT
This value indicates that each row of components should be left-justified.

RIGHT

public static final int RIGHT
This value indicates that each row of components should be right-justified.

TRAILING

public static final int TRAILING
This value indicates that each row of components should be justified to the trailing edge of the container's orientation, for example, to the right in left-to-right orientations.
Constructor Detail

FlowLayout

public FlowLayout()
Constructs a new FlowLayout with a centered alignment and a default 5-unit horizontal and vertical gap.


FlowLayout

public FlowLayout(int align)
Constructs a new FlowLayout with the specified alignment and a default 5-unit horizontal and vertical gap. The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, or FlowLayout.TRAILING.

Parameters:
align - the alignment value

FlowLayout

public FlowLayout(int align,
                  int hgap,
                  int vgap)
Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.

The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, or FlowLayout.TRAILING.

Parameters:
align - the alignment value
hgap - the horizontal gap between components and between the components and the borders of the Container
vgap - the vertical gap between components and between the components and the borders of the Container
Method Detail

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)
Adds the specified component to the layout. Not used by this class.

Parameters:
name - the name of the component
comp - the component to be added

getAlignment

public int getAlignment()
Gets the alignment for this layout. Possible values are FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, or FlowLayout.TRAILING.

Returns:
the alignment value for this layout

getAlignOnBaseline

public boolean getAlignOnBaseline()
Returns true if components are to be vertically aligned along their baseline. The default is false.

Returns:
true if components are to be vertically aligned along their baseline

getHgap

public int getHgap()
Gets the horizontal gap between components and between the components and the borders of the Container

Returns:
the horizontal gap between components and between the components and the borders of the Container

getVgap

public int getVgap()
Gets the vertical gap between components and between the components and the borders of the Container.

Returns:
the vertical gap between components and between the components and the borders of the Container

layoutContainer

public void layoutContainer(Container target)
Lays out the container. This method lets each visible component take its preferred size by reshaping the components in the target container in order to satisfy the alignment of this FlowLayout object.

Parameters:
target - the specified component being laid out

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Returns the minimum dimensions needed to layout the visible components contained in the specified target container.

Parameters:
target - the container that needs to be laid out
Returns:
the minimum dimensions to lay out the subcomponents of the specified container

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
Returns the preferred dimensions for this layout given the visible components in the specified target container.

Parameters:
target - the container that needs to be laid out
Returns:
the preferred dimensions to lay out the subcomponents of the specified container

removeLayoutComponent

public void removeLayoutComponent(Component comp)
Removes the specified component from the layout. Not used by this class.

Parameters:
comp - the component to remove

setAlignment

public void setAlignment(int align)
Sets the alignment for this layout. Possible values are

Parameters:
align - one of the alignment values shown above

setAlignOnBaseline

public void setAlignOnBaseline(boolean alignOnBaseline)
Sets whether or not components should be vertically aligned along their baseline. Components that do not have a baseline will be centered. The default is false.

Parameters:
alignOnBaseline - whether or not components should be vertically aligned on their baseline

setHgap

public void setHgap(int hgap)
Sets the horizontal gap between components and between the components and the borders of the Container.

Parameters:
hgap - the horizontal gap between components and between the components and the borders of the Container

setVgap

public void setVgap(int vgap)
Sets the vertical gap between components and between the components and the borders of the Container.

Parameters:
vgap - the vertical gap between components and between the components and the borders of the Container

toString

public String toString()
Returns a string representation of this FlowLayout object and its values.

Overrides:
toString in class Object
Returns:
a string representation of this layout


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.