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 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, ranging from 0 (inclusive) to 1 (inclusive).

      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