# Class GroupLayout.SequentialGroup

java.lang.Object
javax.swing.GroupLayout.Group
javax.swing.GroupLayout.SequentialGroup

Enclosing class:
  `GroupLayout`

public final class GroupLayout.SequentialGroup extends GroupLayout.Group
A `Group` that positions and sizes its elements sequentially, one after another. This class has no public constructor, use the `createSequentialGroup` method to create one.

In order to align a `SequentialGroup` along the baseline of a baseline aligned `ParallelGroup` you need to specify which of the elements of the `SequentialGroup` is used to determine the baseline. The element used to calculate the baseline is specified using one of the `add` methods that take a `boolean`. The last element added with a value of `true` for `useAsBaseline` is used to calculate the baseline.

Since:
  1.6
See Also:
  - `GroupLayout.createSequentialGroup()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GroupLayout.SequentialGroup`
  `addComponent(boolean useAsBaseline, Component component)`
  Adds a `Component` to this `Group`.
  `GroupLayout.SequentialGroup`
  `addComponent(boolean useAsBaseline, Component component, int min, int pref, int max)`
  Adds a `Component` to this `Group` with the specified size.
  `GroupLayout.SequentialGroup`
  `addComponent(Component component)`
  Adds a `Component` to this `Group`.
  `GroupLayout.SequentialGroup`
  `addComponent(Component component, int min, int pref, int max)`
  Adds a `Component` to this `Group` with the specified size.
  `GroupLayout.SequentialGroup`
  `addContainerGap()`
  Adds an element representing the preferred gap between an edge the container and components that touch the border of the container.
  `GroupLayout.SequentialGroup`
  `addContainerGap(int pref, int max)`
  Adds an element representing the preferred gap between one edge of the container and the next or previous `Component` with the specified size.
  `GroupLayout.SequentialGroup`
  `addGap(int size)`
  Adds a rigid gap to this `Group`.
  `GroupLayout.SequentialGroup`
  `addGap(int min, int pref, int max)`
  Adds a gap to this `Group` with the specified size.
  `GroupLayout.SequentialGroup`
  `addGroup(boolean useAsBaseline, GroupLayout.Group group)`
  Adds a `Group` to this `Group`.
  `GroupLayout.SequentialGroup`
  `addGroup(GroupLayout.Group group)`
  Adds a `Group` to this `Group`.
  `GroupLayout.SequentialGroup`
  `addPreferredGap(JComponent comp1, JComponent comp2, LayoutStyle.ComponentPlacement type)`
  Adds an element representing the preferred gap between two components.
  `GroupLayout.SequentialGroup`
  `addPreferredGap(JComponent comp1, JComponent comp2, LayoutStyle.ComponentPlacement type, int pref, int max)`
  Adds an element representing the preferred gap between two components.
  `GroupLayout.SequentialGroup`
  `addPreferredGap(LayoutStyle.ComponentPlacement type)`
  Adds an element representing the preferred gap between the nearest components.
  `GroupLayout.SequentialGroup`
  `addPreferredGap(LayoutStyle.ComponentPlacement type, int pref, int max)`
  Adds an element representing the preferred gap between the nearest components.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### addGroup

    public GroupLayout.SequentialGroup addGroup(GroupLayout.Group group)
    Adds a `Group` to this `Group`.
    Overrides:
      `addGroup` in class `GroupLayout.Group`
    Parameters:
      `group` - the `Group` to add
    Returns:
      this `Group`

  - ### addGroup

    public GroupLayout.SequentialGroup addGroup(boolean useAsBaseline, GroupLayout.Group group)
    Adds a `Group` to this `Group`.
    Parameters:
      `useAsBaseline` - whether the specified `Group` should be used to calculate the baseline for this `Group`
      `group` - the `Group` to add
    Returns:
      this `Group`

  - ### addComponent

    public GroupLayout.SequentialGroup addComponent(Component component)
    Adds a `Component` to this `Group`.
    Overrides:
      `addComponent` in class `GroupLayout.Group`
    Parameters:
      `component` - the `Component` to add
    Returns:
      this `Group`

  - ### addComponent

    public GroupLayout.SequentialGroup addComponent(boolean useAsBaseline, Component component)
    Adds a `Component` to this `Group`.
    Parameters:
      `useAsBaseline` - whether the specified `Component` should be used to calculate the baseline for this `Group`
      `component` - the `Component` to add
    Returns:
      this `Group`

  - ### addComponent

    public GroupLayout.SequentialGroup addComponent(Component component, int min, int pref, int max)
    Adds a `Component` to this `Group` with the specified size.
    Overrides:
      `addComponent` in class `GroupLayout.Group`
    Parameters:
      `component` - the `Component` to add
      `min` - the minimum size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
      `pref` - the preferred size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
      `max` - the maximum size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
    Returns:
      this `Group`

  - ### addComponent

    public GroupLayout.SequentialGroup addComponent(boolean useAsBaseline, Component component, int min, int pref, int max)
    Adds a `Component` to this `Group` with the specified size.
    Parameters:
      `useAsBaseline` - whether the specified `Component` should be used to calculate the baseline for this `Group`
      `component` - the `Component` to add
      `min` - the minimum size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
      `pref` - the preferred size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
      `max` - the maximum size or one of `DEFAULT_SIZE` or `PREFERRED_SIZE`
    Returns:
      this `Group`

  - ### addGap

    public GroupLayout.SequentialGroup addGap(int size)
    Adds a rigid gap to this `Group`.
    Overrides:
      `addGap` in class `GroupLayout.Group`
    Parameters:
      `size` - the size of the gap
    Returns:
      this `Group`

  - ### addGap

    public GroupLayout.SequentialGroup addGap(int min, int pref, int max)
    Adds a gap to this `Group` with the specified size.
    Overrides:
      `addGap` in class `GroupLayout.Group`
    Parameters:
      `min` - the minimum size of the gap
      `pref` - the preferred size of the gap
      `max` - the maximum size of the gap
    Returns:
      this `Group`

  - ### addPreferredGap

    public GroupLayout.SequentialGroup addPreferredGap(JComponent comp1, JComponent comp2, LayoutStyle.ComponentPlacement type)
    Adds an element representing the preferred gap between two components. The element created to represent the gap is not resizable.
    Parameters:
      `comp1` - the first component
      `comp2` - the second component
      `type` - the type of gap; one of the constants defined by `LayoutStyle`
    Returns:
      this `SequentialGroup`
    Throws:
      `IllegalArgumentException` - if `type`, `comp1` or `comp2` is `null`
    See Also:
      - `LayoutStyle`

  - ### addPreferredGap

    public GroupLayout.SequentialGroup addPreferredGap(JComponent comp1, JComponent comp2, LayoutStyle.ComponentPlacement type, int pref, int max)
    Adds an element representing the preferred gap between two components.
    Parameters:
      `comp1` - the first component
      `comp2` - the second component
      `type` - the type of gap
      `pref` - the preferred size of the gap; one of `DEFAULT_SIZE` or a value >= 0
      `max` - the maximum size of the gap; one of `DEFAULT_SIZE`, `PREFERRED_SIZE` or a value >= 0
    Returns:
      this `SequentialGroup`
    Throws:
      `IllegalArgumentException` - if `type`, `comp1` or `comp2` is `null`
    See Also:
      - `LayoutStyle`

  - ### addPreferredGap

    public GroupLayout.SequentialGroup addPreferredGap(LayoutStyle.ComponentPlacement type)
    Adds an element representing the preferred gap between the nearest components. During layout, neighboring components are found, and the size of the added gap is set based on the preferred gap between the components. If no neighboring components are found the gap has a size of `0`.

    The element created to represent the gap is not resizable.

    Parameters:
      `type` - the type of gap; one of `LayoutStyle.ComponentPlacement.RELATED` or `LayoutStyle.ComponentPlacement.UNRELATED`
    Returns:
      this `SequentialGroup`
    Throws:
      `IllegalArgumentException` - if `type` is not one of `LayoutStyle.ComponentPlacement.RELATED` or `LayoutStyle.ComponentPlacement.UNRELATED`
    See Also:
      - `LayoutStyle`

  - ### addPreferredGap

    public GroupLayout.SequentialGroup addPreferredGap(LayoutStyle.ComponentPlacement type, int pref, int max)
    Adds an element representing the preferred gap between the nearest components. During layout, neighboring components are found, and the minimum of this gap is set based on the size of the preferred gap between the neighboring components. If no neighboring components are found the minimum size is set to 0.
    Parameters:
      `type` - the type of gap; one of `LayoutStyle.ComponentPlacement.RELATED` or `LayoutStyle.ComponentPlacement.UNRELATED`
      `pref` - the preferred size of the gap; one of `DEFAULT_SIZE` or a value >= 0
      `max` - the maximum size of the gap; one of `DEFAULT_SIZE`, `PREFERRED_SIZE` or a value >= 0
    Returns:
      this `SequentialGroup`
    Throws:
      `IllegalArgumentException` - if `type` is not one of `LayoutStyle.ComponentPlacement.RELATED` or `LayoutStyle.ComponentPlacement.UNRELATED`
    See Also:
      - `LayoutStyle`

  - ### addContainerGap

    public GroupLayout.SequentialGroup addContainerGap()
    Adds an element representing the preferred gap between an edge the container and components that touch the border of the container. This has no effect if the added gap does not touch an edge of the parent container.

    The element created to represent the gap is not resizable.

    Returns:
      this `SequentialGroup`

  - ### addContainerGap

    public GroupLayout.SequentialGroup addContainerGap(int pref, int max)
    Adds an element representing the preferred gap between one edge of the container and the next or previous `Component` with the specified size. This has no effect if the next or previous element is not a `Component` and does not touch one edge of the parent container.
    Parameters:
      `pref` - the preferred size; one of `DEFAULT_SIZE` or a value >= 0
      `max` - the maximum size; one of `DEFAULT_SIZE`, `PREFERRED_SIZE` or a value >= 0
    Returns:
      this `SequentialGroup`