# Class Background

java.lang.Object
javafx.scene.layout.Background

All Implemented Interfaces:
  `Interpolatable<Background>`

public final class Background extends Object implements Interpolatable<Background>
The Background of a `Region`. A Background is an immutable object which encapsulates the entire set of data required to render the background of a Region. Because this class is immutable, you can freely reuse the same Background on many different Regions. Please refer to JavaFX CSS Reference Guide for a complete description of the CSS rules for styling the background of a Region.

Every Background is comprised of `fills` and / or `images`. Neither list will ever be null, but either or both may be empty. Each defined `BackgroundFill` is rendered in order, followed by each defined `BackgroundImage`.

The Background's `outsets` define any extension of the drawing area of a Region which is necessary to account for all background drawing. These outsets are strictly defined by the BackgroundFills that are specified on this Background, if any, because all BackgroundImages are clipped to the drawing area, and do not define it. The outsets values are strictly non-negative.

Since:
  JavaFX 8.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Background`
  `EMPTY`
  An empty Background, useful to use instead of null.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Background(List<BackgroundFill> fills, List<BackgroundImage> images)`
  Create a new Background supply two Lists, one for background fills and one for background images.
  `Background(BackgroundFill... fills)`
  Create a new Background by supplying an array of BackgroundFills.
  `Background(BackgroundFill[] fills, BackgroundImage[] images)`
  Create a new Background by supplying two arrays, one for background fills, and one for background images.
  `Background(BackgroundImage... images)`
  Create a new Background by supplying an array of BackgroundImages.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Background`
  `fill(Paint fill)`
  A convenience factory method for creating a `Background` with a single `Paint`.
  `static List<CssMetaData<? extends Styleable, ?>>`
  `getClassCssMetaData()`
  Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
  `final List<BackgroundFill>`
  `getFills()`
  The list of BackgroundFills which together define the filled portion of this Background.
  `final List<BackgroundImage>`
  `getImages()`
  The list of BackgroundImages which together define the image portion of this Background.
  `final Insets`
  `getOutsets()`
  The outsets of this Background.
  `Background`
  `interpolate(Background endValue, double t)`
  Returns an intermediate value between the value of this `Interpolatable` and the specified `endValue` using the linear interpolation factor `t`.
  `final boolean`
  `isEmpty()`
  Gets whether the background is empty.
  `boolean`
  `isFillPercentageBased()`
  Gets whether the fill of this Background is based on percentages (that is, relative to the size of the region being styled).

  ### Methods declared in class Object

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

- ## Field Details

  - ### EMPTY

    public static final Background EMPTY
    An empty Background, useful to use instead of null.

- ## Constructor Details

  - ### Background

    public Background(BackgroundFill... fills)
    Create a new Background by supplying an array of BackgroundFills. This array may be null, or may contain null values. Any null values will be ignored and will not contribute to the `fills` or `outsets`.
    Parameters:
      `fills` - The fills. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of fills. A null array becomes an empty List.

  - ### Background

    public Background(BackgroundImage... images)
    Create a new Background by supplying an array of BackgroundImages. This array may be null, or may contain null values. Any null values will be ignored and will not contribute to the `images`.
    Parameters:
      `images` - The images. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of images. A null array becomes an empty List.

  - ### Background

    public Background(List<BackgroundFill> fills, List<BackgroundImage> images)
    Create a new Background supply two Lists, one for background fills and one for background images. Either list may be null, and may contain nulls. Any null values in these lists will be ignored and will not contribute to the `fills`, `images`, or `outsets`.
    Parameters:
      `fills` - The fills. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of fills. A null List becomes an empty List.
      `images` - The images. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of images. A null List becomes an empty List.

  - ### Background

    public Background(BackgroundFill[] fills, BackgroundImage[] images)
    Create a new Background by supplying two arrays, one for background fills, and one for background images. Either array may be null, and may contain null values. Any null values in these arrays will be ignored and will not contribute to the `fills`, `images`, or `outsets`.
    Parameters:
      `fills` - The fills. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of fills. A null array becomes an empty List.
      `images` - The images. This may be null, and may contain nulls. Any contained nulls are filtered out and not included in the final List of images. A null array becomes an empty List.

- ## Method Details

  - ### getClassCssMetaData

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData()
    Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
    Returns:
      the `CssMetaData`

  - ### getFills

    public final List<BackgroundFill> getFills()
    The list of BackgroundFills which together define the filled portion of this Background. This List is unmodifiable and immutable. It will never be null. The elements of this list will also never be null.
    Interpolation Type:
      pairwise
    Returns:
      the list of BackgroundFills

  - ### getImages

    public final List<BackgroundImage> getImages()
    The list of BackgroundImages which together define the image portion of this Background. This List is unmodifiable and immutable. It will never be null. The elements of this list will also never be null.
    Interpolation Type:
      pairwise
    Returns:
      the list of BackgroundImages

  - ### getOutsets

    public final Insets getOutsets()
    The outsets of this Background. This represents the largest bounding rectangle within which all drawing for the Background will take place. The outsets will never be negative, and represent the distance from the edge of the Region outward. Any BackgroundImages which would extend beyond the outsets will be clipped. Only the BackgroundFills contribute to the outsets.
    Interpolation Type:
      the intermediate value is derived from `fills`
    Returns:
      the outsets

  - ### isEmpty

    public final boolean isEmpty()
    Gets whether the background is empty. It is empty if there are no fills or images.
    Returns:
      true if the Background is empty, false otherwise.

  - ### fill

    public static Background fill(Paint fill)
    A convenience factory method for creating a `Background` with a single `Paint`.
    Implementation Requirements:
      This call is equivalent to `new Background(new BackgroundFill(fill, null, null));`.
    Parameters:
      `fill` - the fill of the background. If `null`, `Color.TRANSPARENT` will be used.
    Returns:
      a new background of the given fill
    Since:
      18

  - ### isFillPercentageBased

    public boolean isFillPercentageBased()
    Gets whether the fill of this Background is based on percentages (that is, relative to the size of the region being styled). Specifically, this returns true if any of the CornerRadii on any of the fills on this Background has a radius that is based on percentages.
    Returns:
      True if any CornerRadii of any BackgroundFill on this background would return true, false otherwise.
    Since:
      JavaFX 8.0

  - ### interpolate

    public Background interpolate(Background endValue, double t)
    Returns an intermediate value between the value of this `Interpolatable` and the specified `endValue` using the linear interpolation factor `t`. The interpolation factor can be any finite value.

    The returned value might not be a new instance; the implementation might also return one of the two existing instances if the intermediate value would be equal to one of the existing values. However, this is an optimization and applications should not assume any particular identity of the returned value.

    Specified by:
      `interpolate` in interface `Interpolatable<Background>`
    Parameters:
      `endValue` - the target value
      `t` - the interpolation factor
    Returns:
      the intermediate value
    Throws:
      `NullPointerException` - if `endValue` is `null`
    Since:
      24