|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.izforge.izpack.gui.FlowLayout
public class FlowLayout
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. This class is a bit different from java.awt.FlowLayout.
java.awt.FlowLayout has a minor problem that was bugging me when I wrote the UserInputPanel. FlowLayout puts some amount of space in between each component that it lays out. In addition it adds that same amount of space to the left and to the right of the entire group. Therefore items such as the RuleInputfield that are laid out with a FlowLayout would never line up properly with the other components (it would appear to be slightly indented). Because there is no way to circumvent this behavior in FlowLayout (it's hard coded) I copied the source and modified it so that it does not add the space to the left and to the right. Now my stuff lines up properly. (Elmar Grom)
Field Summary | |
---|---|
(package private) int |
align
align is the proprty that determines how each row distributes empty space. |
static int |
CENTER
This value indicates that each row of components should be centered. |
(package private) int |
hgap
The flow layout manager allows a seperation of components with gaps. |
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. |
(package private) int |
newAlign
newAlign is the property that determines how each row distributes empty space
for the Java 2 platform, v1.2 and greater. |
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 leading edge of the container's orientation, for example, to the right in left-to-right orientations. |
(package private) int |
vgap
The flow layout manager allows a seperation of components with gaps. |
Constructor Summary | |
---|---|
FlowLayout()
Constructs a new Flow Layout with a centered alignment and a default 5-unit horizontal and vertical gap. |
|
FlowLayout(int align)
Constructs a new Flow Layout 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(java.lang.String name,
java.awt.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(java.awt.Container target)
Lays out the container. |
java.awt.Dimension |
minimumLayoutSize(java.awt.Container target)
Returns the minimum dimensions needed to layout the components contained in the specified target container. |
private void |
moveComponents(java.awt.Container target,
int x,
int y,
int width,
int height,
int rowStart,
int rowEnd,
boolean ltr)
Centers the elements in the specified row, if there is any slack. |
java.awt.Dimension |
preferredLayoutSize(java.awt.Container target)
Returns the preferred dimensions for this layout given the components in the specified target container. |
void |
removeLayoutComponent(java.awt.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. |
java.lang.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 |
---|
public static final int LEFT
public static final int CENTER
public static final int RIGHT
public static final int LEADING
Component.getComponentOrientation()
,
ComponentOrientation
,
Constant Field Valuespublic static final int TRAILING
Component.getComponentOrientation()
,
ComponentOrientation
,
Constant Field Valuesint align
align
is the proprty that determines how each row distributes empty space. It
can be one of the following three values : LEFT
RIGHT
CENTER
getAlignment()
,
setAlignment(int)
int newAlign
newAlign
is the property that determines how each row distributes empty space
for the Java 2 platform, v1.2 and greater. It can be one of the following three values :
LEFT
RIGHT
CENTER
getAlignment()
,
setAlignment(int)
int hgap
getHgap()
,
setHgap(int)
int vgap
getVgap()
,
setVgap(int)
Constructor Detail |
---|
public FlowLayout()
public FlowLayout(int align)
FlowLayout.LEFT
,
FlowLayout.RIGHT
, or FlowLayout.CENTER
.
align
- the alignment valuepublic FlowLayout(int align, int hgap, int vgap)
The value of the alignment argument must be one of FlowLayout.LEFT
,
FlowLayout.RIGHT
, or FlowLayout.CENTER
.
align
- the alignment value.hgap
- the horizontal gap between components.vgap
- the vertical gap between components.Method Detail |
---|
public int getAlignment()
FlowLayout.LEFT
,
FlowLayout.RIGHT
, or FlowLayout.CENTER
.
FlowLayout.setAlignment(int)
public void setAlignment(int align)
FlowLayout.LEFT
,
FlowLayout.RIGHT
, and FlowLayout.CENTER
.
align
- the alignment value.getAlignment()
public int getHgap()
setHgap(int)
public void setHgap(int hgap)
hgap
- the horizontal gap between componentsgetHgap()
public int getVgap()
setVgap(int)
public void setVgap(int vgap)
vgap
- the vertical gap between componentsgetVgap()
public void addLayoutComponent(java.lang.String name, java.awt.Component comp)
addLayoutComponent
in interface java.awt.LayoutManager
name
- the name of the componentcomp
- the component to be addedpublic void removeLayoutComponent(java.awt.Component comp)
removeLayoutComponent
in interface java.awt.LayoutManager
comp
- the component to removepublic java.awt.Dimension preferredLayoutSize(java.awt.Container target)
preferredLayoutSize
in interface java.awt.LayoutManager
target
- the component which needs to be laid out
minimumLayoutSize(Container)
public java.awt.Dimension minimumLayoutSize(java.awt.Container target)
minimumLayoutSize
in interface java.awt.LayoutManager
target
- the component which needs to be laid out
preferredLayoutSize(Container)
private void moveComponents(java.awt.Container target, int x, int y, int width, int height, int rowStart, int rowEnd, boolean ltr)
target
- the component which needs to be movedx
- the x coordinatey
- the y coordinatewidth
- the width dimensionsheight
- the height dimensionsrowStart
- the beginning of the rowrowEnd
- the the ending of the rowpublic void layoutContainer(java.awt.Container target)
FlowLayout
object.
layoutContainer
in interface java.awt.LayoutManager
target
- the specified component being laid out.public java.lang.String toString()
FlowLayout
object and its values.
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |