Group provides the basis for the two types of
operations supported by
GroupLayout: laying out
components one after another (
SequentialGroup)
or aligned (
ParallelGroup).
Group and
its subclasses have no public constructor; to create one use
one of
createSequentialGroup or
createParallelGroup. Additionally, taking a
Group
created from one
GroupLayout and using it with another
will produce undefined results.
Various methods in Group and its subclasses allow you
to explicitly specify the range. The arguments to these methods
can take two forms, either a value greater than or equal to 0,
or one of DEFAULT_SIZE or PREFERRED_SIZE. A
value greater than or equal to 0 indicates a specific
size. DEFAULT_SIZE indicates the corresponding size
from the component should be used. For example, if DEFAULT_SIZE is passed as the minimum size argument, the
minimum size is obtained from invoking getMinimumSize
on the component. Likewise, PREFERRED_SIZE indicates
the value from getPreferredSize should be used.
The following example adds myComponent to group
with specific values for the range. That is, the minimum is
explicitly specified as 100, preferred as 200, and maximum as
300.
group.addComponent(myComponent, 100, 200, 300);
The following example adds
myComponent to
group using
a combination of the forms. The minimum size is forced to be the
same as the preferred size, the preferred size is determined by
using
myComponent.getPreferredSize and the maximum is
determined by invoking
getMaximumSize on the component.
group.addComponent(myComponent, GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE);
Unless otherwise specified all the methods of Group and
its subclasses that allow you to specify a range throw an
IllegalArgumentException if passed an invalid range. An
invalid range is one in which any of the values are < 0 and
not one of PREFERRED_SIZE or DEFAULT_SIZE, or
the following is not met (for specific values): min
<= pref <= max.
Similarly any methods that take a Component throw a
NullPointerException if passed null and any methods
that take a Group throw an IllegalArgumentException if
passed null.