public abstract class Layout
- Object
- Layout
Known subtypesBorderLayout, BoxLayout, CoordinateLayout, FlowLayout, GridBagLayout, GridLayout, GroupLayout, LayeredLayout, TextModeLayout, MigLayout, TableLayout
Abstract class that can be used to arrange components in a container using
a predefined algorithm. This class may be implemented externally and is similar
in spirit to the AWT/Swing layout managers.
Constructors
public Layout() |
Methods
public abstract void layoutContainer(Container parent) | Layout the given parent container children |
public abstract Dimension getPreferredSize(Container parent) | Returns the container preferred size |
public void addLayoutComponent(Object value, Component comp, Container c) | Some layouts can optionally track the addition of elements with meta-data that allows the user to “hint” on object positioning. |
public void removeLayoutComponent(Component comp) | Removes the component from the layout this operation is only useful if the layout maintains references to components within it |
public Object getComponentConstraint(Component comp) | Returns the optional component constraint |
public Object cloneConstraint(Object constraint) | |
public boolean isOverlapSupported() | This method returns true if the Layout allows Components to Overlap. |
public boolean equals(Object o) | Indicates whether some other object is “equal to” this one. |
public int hashCode() | Returns a hash code value for the object. |
public boolean isConstraintTracking() | If this method returns true, the addLayoutComponent method will be called when replacing a layout for every component within the container |
public boolean obscuresPotential(Container parent) | Some layout managers can obscure their child components in some cases this returns true if the basic underpinnings are in place for that. |
public boolean overridesTabIndices(Container parent) | If a layout specifies a different traversal order of its components than the component index, then it should override this method to return true, and it should also override #getChildrenInTraversalOrder(com.codename1.ui.Container) to set the tab indices of a container’s children. |
public final int updateTabIndices(Container parent, int offset) | Updates the tab traversal order |
protected Component[] getChildrenInTraversalOrder(Container parent) | Gets the children of the parent container in the order that they should be traversed when tabbing through a form. |
Inherited methods
Constructor details
Layout
public Layout()Method details
layoutContainer
public abstract void layoutContainer(Container parent)Layout the given parent container children
Parameters
parentContainer- the given parent container
getPreferredSize
public abstract Dimension getPreferredSize(Container parent)Returns the container preferred size
Parameters
parentContainer- the parent container
Returns
the container preferred size
addLayoutComponent
public void addLayoutComponent(Object value, Component comp, Container c)Some layouts can optionally track the addition of elements with meta-data
that allows the user to “hint” on object positioning.
Parameters
valueObject- optional meta data information, like alignment orientation
compComponent- the added component to the layout
cContainer- the parent container
removeLayoutComponent
public void removeLayoutComponent(Component comp)Removes the component from the layout this operation is only useful if the
layout maintains references to components within it
Parameters
compComponent- the removed component from layout
getComponentConstraint
public Object getComponentConstraint(Component comp)Returns the optional component constraint
Parameters
compComponent- the component whose constraint should be returned
Returns
the optional component constraint
cloneConstraint
public Object cloneConstraint(Object constraint)isOverlapSupported
public boolean isOverlapSupported()This method returns true if the Layout allows Components to
Overlap.
Returns
true if Components may intersect in this layout
equals
public boolean equals(Object o)Indicates whether some other object is “equal to” this one.
The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false.
The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).
hashCode
public int hashCode()Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable.
The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
isConstraintTracking
public boolean isConstraintTracking()If this method returns true, the addLayoutComponent method will be called when replacing a
layout for every component within the container
Returns
false by default
obscuresPotential
public boolean obscuresPotential(Container parent)Some layout managers can obscure their child components in some cases this
returns true if the basic underpinnings are in place for that. This method
doesn’t take padding/margin etc. into account since that is checked by the
caller
Parameters
parentContainer- parent container
Returns
true if there is a chance that this layout manager can fully obscure the background, when in doubt return false…
overridesTabIndices
public boolean overridesTabIndices(Container parent)If a layout specifies a different traversal order of its components than the
component index, then it should override this method to return true, and
it should also override
#getChildrenInTraversalOrder(com.codename1.ui.Container)
to set the tab indices of a container’s children.Parameters
parentContainer- The parent component.
Returns
True if this layout overrides tab traversal order.
updateTabIndices
public final int updateTabIndices(Container parent, int offset)Updates the tab traversal order
getChildrenInTraversalOrder
protected Component[] getChildrenInTraversalOrder(Container parent)Gets the children of the parent container in the order that they should be traversed when tabbing through a form.
This should only be overridden if the Layout defines a different traversal order than the standard index order.
Layouts that implement this method, should override the #overridesTabIndices(com.codename1.ui.Container)
method to return true.
Returns
Array of Components in the order