Background (JavaFX 17)

Module javafx.graphics
Package javafx.scene.layout

## Class Background

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

-     public final class Background
      extends Object

  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 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

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` |
    `List<BackgroundFill>` | `getFills()` | The list of BackgroundFills which together define the filled portion of this Background.
    `List<BackgroundImage>` | `getImages()` | The list of BackgroundImages which together define the image portion of this Background.
    `Insets` | `getOutsets()` | The outsets of this Background.
    `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 java.lang.Object

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

- - ### Field Detail

    - #### EMPTY

          public static final Background EMPTY

      An empty Background, useful to use instead of null.

  - ### Constructor Detail

    - #### 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 Detail

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.

    - #### 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.
      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.
      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.
      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.

    - #### 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