java.awt
Class FlowLayoutjava.lang.Object | +--java.awt.FlowLayout
- All Implemented Interfaces:
- LayoutManager, Serializable
- public class FlowLayout
- extends Object
- implements LayoutManager, Serializable
A flow layout arranges components in a left-to-right flow, much like lines of text in a paragraph. Flow layouts are typically used to arrange buttons in a panel. It will arrange buttons left to right until no more buttons fit on the same line. Each line is centered.
For example, the following picture shows an applet using the flow layout manager (its default layout manager) to position 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.
- Since:
- JDK1.0
- See Also:
- Serialized Form
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
FlowLayout()
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 addLayoutComponent(String name, Component comp)
Adds the specified component to the layout.int getAlignment()
Gets the alignment for this layout.int getHgap()
Gets the horizontal gap between components.int getVgap()
Gets the vertical gap between components.void layoutContainer(Container target)
Lays out the container.Dimension minimumLayoutSize(Container target)
Returns the minimum dimensions needed to layout the visible components contained in the specified target container.Dimension preferredLayoutSize(Container target)
Returns the preferred dimensions for this layout given the visible components in the specified target container.void removeLayoutComponent(Component comp)
Removes the specified component from the layout.void setAlignment(int align)
Sets the alignment for this layout.void setHgap(int hgap)
Sets the horizontal gap between components.void setVgap(int vgap)
Sets the vertical gap between components.String toString()
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, wait, wait, wait
Field Detail
LEFT
public static final int LEFT
- This value indicates that each row of components should be left-justified.
- See Also:
- Constant Field Values
CENTER
public static final int CENTER
- This value indicates that each row of components should be centered.
- See Also:
- Constant Field Values
RIGHT
public static final int RIGHT
- This value indicates that each row of components should be right-justified.
- See Also:
- Constant Field Values
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.
- Since:
- 1.2 Package-private pending API change approval
- See Also:
- Component.getComponentOrientation(), ComponentOrientation, Constant Field Values
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.
- Since:
- 1.2 Package-private pending API change approval
- See Also:
- Component.getComponentOrientation(), ComponentOrientation, Constant Field Values
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, or FlowLayout.CENTER.
- 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, or FlowLayout.CENTER.
- Parameters:
- align - the alignment value
- hgap - the horizontal gap between components
- vgap - the vertical gap between components
Method Detail
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
- Since:
- JDK1.1
- See Also:
- setAlignment(int)
setAlignment
public void setAlignment(int align)
- Sets the alignment for this layout. Possible values are
- FlowLayout.LEFT
- FlowLayout.RIGHT
- FlowLayout.CENTER
- FlowLayout.LEADING
- FlowLayout.TRAILING
- Parameters:
- align - one of the alignment values shown above
- Since:
- JDK1.1
- See Also:
- getAlignment()
getHgap
public int getHgap()
- Gets the horizontal gap between components.
- Returns:
- the horizontal gap between components
- Since:
- JDK1.1
- See Also:
- setHgap(int)
setHgap
public void setHgap(int hgap)
- Sets the horizontal gap between components.
- Parameters:
- hgap - the horizontal gap between components
- Since:
- JDK1.1
- See Also:
- getHgap()
getVgap
public int getVgap()
- Gets the vertical gap between components.
- Returns:
- the vertical gap between components
- Since:
- JDK1.1
- See Also:
- setVgap(int)
setVgap
public void setVgap(int vgap)
- Sets the vertical gap between components.
- Parameters:
- vgap - the vertical gap between components
- Since:
- JDK1.1
- See Also:
- getVgap()
addLayoutComponent
public void addLayoutComponent(String name, Component comp)
- Adds the specified component to the layout. Not used by this class.
- Specified by:
- addLayoutComponent in interface LayoutManager
- Parameters:
- name - the name of the component
- comp - the component to be added
removeLayoutComponent
public void removeLayoutComponent(Component comp)
- Removes the specified component from the layout. Not used by this class.
- Specified by:
- removeLayoutComponent in interface LayoutManager
- Parameters:
- comp - the component to remove
- See Also:
- Container.removeAll()
preferredLayoutSize
public Dimension preferredLayoutSize(Container target)
- Returns the preferred dimensions for this layout given the visible components in the specified target container.
- Specified by:
- preferredLayoutSize in interface LayoutManager
- Parameters:
- target - the component which needs to be laid out
- Returns:
- the preferred dimensions to lay out the subcomponents of the specified container
- See Also:
- Container, minimumLayoutSize(java.awt.Container), Container.getPreferredSize()
minimumLayoutSize
public Dimension minimumLayoutSize(Container target)
- Returns the minimum dimensions needed to layout the visible components contained in the specified target container.
- Specified by:
- minimumLayoutSize in interface LayoutManager
- Parameters:
- target - the component which needs to be laid out
- Returns:
- the minimum dimensions to lay out the subcomponents of the specified container
- See Also:
- preferredLayoutSize(java.awt.Container), Container, Container.doLayout()
layoutContainer
public void layoutContainer(Container target)
- Lays out the container. This method lets each component take its preferred size by reshaping the components in the target container in order to satisfy the alignment of this FlowLayout object.
- Specified by:
- layoutContainer in interface LayoutManager
- Parameters:
- target - the specified component being laid out
- See Also:
- Container, Container.doLayout()
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