# Class SurfaceContainer

java.lang.Object
com.codename1.surfaces.SurfaceNode
com.codename1.surfaces.SurfaceContainer

Direct Known Subclasses:
  `SurfaceBox, SurfaceColumn, SurfaceRow`

public abstract class SurfaceContainer extends SurfaceNode
The base class of surface nodes that hold children: `SurfaceColumn`, `SurfaceRow` and `SurfaceBox`. Descriptors are limited to 8 nesting levels so they stay within the memory and transaction budgets of platform widget renderers.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SurfaceContainer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SurfaceContainer`
  `add(SurfaceNode child)`
  Adds a child node.
  `List<SurfaceNode>`
  `getChildren()`
  Returns the live list of children.

  ### Methods inherited from class SurfaceNode

  `getActionId, getActionParams, getAlignment, getBackground, getCornerRadius, getHeightDips, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getWeight, getWidthDips, setAction, setAction, setAlignment, setBackground, setCornerRadius, setPadding, setPadding, setSize, setWeight`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### SurfaceContainer

    public SurfaceContainer()

- ## Method Details

  - ### add

    public SurfaceContainer add(SurfaceNode child)

    Adds a child node.

    ###### Parameters

    - `child`: the node to append

    ###### Returns

    this container, for chaining

  - ### getChildren

    public List<SurfaceNode> getChildren()
    Returns the live list of children.