jas2.util.layout
Class ToolbarLayout
- java.lang.Object
-
- jas2.util.layout.ToolbarLayout
-
- All Implemented Interfaces:
- java.awt.LayoutManager, java.io.Serializable
public class ToolbarLayout extends java.lang.Object implements java.awt.LayoutManager, java.io.SerializableA ToolbarLayout arranges components in a left-to-right flow, much like the FlowLayout which is supplied with the JDK. However, it fixes the problem with the FlowLayout that occurs when a FlowLayout is for a North aligned component of a BorderLayout--namely, that if the window is shrunk so that some of the components within the FlowLayout wrap to the next line the component does not grow in height to support this wrapping. This bug was caused by the library designers using the preferred size in recalculating, not the size which is determined by the window width. As such, the flow layout would always want to be the height of one row. A ToolbarLayout lets each component assume its natural (preferred) size. NOTE: This class was initially a subclass of FlowLayout, but we encountered problems using that approach.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intCENTERThis value indicates that each row of components should be centered.static intLEFTThis value indicates that each row of components should be left-justified.static intRIGHTThis value indicates that each row of components should be right-justified.
-
Constructor Summary
Constructors Constructor and Description ToolbarLayout()Constructs a new ToolbarLayout with a left alignment and a default 5-unit horizontal and vertical gap.ToolbarLayout(int align)Constructs a new ToolbarLayout with the specified alignment and a default 5-unit horizontal and vertical gap.ToolbarLayout(int align, int hgap, int vgap)Creates a new ToolbarLayout with the indicated alignment and the indicated horizontal and vertical gaps.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddLayoutComponent(java.lang.String name, java.awt.Component comp)Adds the specified component to the layout.intgetAlignment()Gets the alignment for this layout.intgetHgap()Gets the horizontal gap between components.intgetVgap()Gets the vertical gap between components.voidlayoutContainer(java.awt.Container target)Lays out the container.java.awt.DimensionminimumLayoutSize(java.awt.Container target)Returns the minimum dimensions needed to layout the components contained in the specified target container.java.awt.DimensionpreferredLayoutSize(java.awt.Container target)Returns the preferred dimensions for this layout given the components in the specified target container.voidremoveLayoutComponent(java.awt.Component comp)Removes the specified component from the layout.voidsetAlignment(int align)Sets the alignment for this layout.voidsetHgap(int hgap)Sets the horizontal gap between components.voidsetVgap(int vgap)Sets the vertical gap between components.java.lang.StringtoString()Returns a string representation of thisToolbarLayoutobject and its values.
-
-
-
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
-
-
Constructor Detail
-
ToolbarLayout
public ToolbarLayout()
Constructs a new ToolbarLayout with a left alignment and a default 5-unit horizontal and vertical gap.
-
ToolbarLayout
public ToolbarLayout(int align)
Constructs a new ToolbarLayout with the specified alignment and a default 5-unit horizontal and vertical gap. The value of the alignment argument must be one ofToolbarLayout.LEFT,ToolbarLayout.RIGHT, orToolbarLayout.CENTER.- Parameters:
align- the alignment value
-
ToolbarLayout
public ToolbarLayout(int align, int hgap, int vgap)Creates a new ToolbarLayout with the indicated alignment and the indicated horizontal and vertical gaps.The value of the alignment argument must be one of
ToolbarLayout.LEFT,ToolbarLayout.RIGHT, orToolbarLayout.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 areToolbarLayout.LEFT,ToolbarLayout.RIGHT, orToolbarLayout.CENTER.- Returns:
- the alignment value for this layout.
- See Also:
setAlignment(int)
-
setAlignment
public void setAlignment(int align)
Sets the alignment for this layout. Possible values areToolbarLayout.LEFT,ToolbarLayout.RIGHT, andToolbarLayout.CENTER.- Parameters:
align- the alignment value.- See Also:
getAlignment()
-
getHgap
public int getHgap()
Gets the horizontal gap between components.- Returns:
- the horizontal gap between components.
- See Also:
setHgap(int)
-
setHgap
public void setHgap(int hgap)
Sets the horizontal gap between components.- Parameters:
hgap- the horizontal gap between components- See Also:
getHgap()
-
getVgap
public int getVgap()
Gets the vertical gap between components.- Returns:
- the vertical gap between components.
- See Also:
setVgap(int)
-
setVgap
public void setVgap(int vgap)
Sets the vertical gap between components.- Parameters:
vgap- the vertical gap between components- See Also:
getVgap()
-
addLayoutComponent
public void addLayoutComponent(java.lang.String name, java.awt.Component comp)Adds the specified component to the layout. Sets the orientation to be horizontal.- Specified by:
addLayoutComponentin interfacejava.awt.LayoutManager- Parameters:
name- the name of the componentcomp- the component to be added
-
removeLayoutComponent
public void removeLayoutComponent(java.awt.Component comp)
Removes the specified component from the layout. Not used by this class.- Specified by:
removeLayoutComponentin interfacejava.awt.LayoutManager- Parameters:
comp- the component to remove- See Also:
Container.removeAll()
-
preferredLayoutSize
public java.awt.Dimension preferredLayoutSize(java.awt.Container target)
Returns the preferred dimensions for this layout given the components in the specified target container. This method is the difference between ToolbarLayout and FlowLayout.- Specified by:
preferredLayoutSizein interfacejava.awt.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 java.awt.Dimension minimumLayoutSize(java.awt.Container target)
Returns the minimum dimensions needed to layout the components contained in the specified target container.- Specified by:
minimumLayoutSizein interfacejava.awt.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(java.awt.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 constraints of thisToolbarLayoutobject.- Specified by:
layoutContainerin interfacejava.awt.LayoutManager- Parameters:
target- the specified component being laid out.- See Also:
Container,Container.doLayout()
-
toString
public java.lang.String toString()
Returns a string representation of thisToolbarLayoutobject and its values.- Overrides:
toStringin classjava.lang.Object- Returns:
- a string representation of this layout.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG