Module javafx.graphics
Package javafx.scene.effect

# Class DropShadow

java.lang.Object
javafx.scene.effect.Effect
javafx.scene.effect.DropShadow

public class DropShadow extends Effect
A high-level effect that renders a shadow of the given content behind the content with the specified color, radius, and offset.

Example:

     DropShadow dropShadow = new DropShadow();
     dropShadow.setRadius(5.0);
     dropShadow.setOffsetX(3.0);
     dropShadow.setOffsetY(3.0);
     dropShadow.setColor(Color.color(0.4, 0.5, 0.5));

     Text text = new Text();
     text.setEffect(dropShadow);
     text.setCache(true);
     text.setX(10.0);
     text.setY(70.0);
     text.setFill(Color.web("0x3b596d"));
     text.setText("JavaFX drop shadow...");
     text.setFont(Font.font(null, FontWeight.BOLD, 40));

     DropShadow dropShadow2 = new DropShadow();
     dropShadow2.setOffsetX(6.0);
     dropShadow2.setOffsetY(4.0);

     Circle circle = new Circle();
     circle.setEffect(dropShadow2);
     circle.setCenterX(50.0);
     circle.setCenterY(125.0);
     circle.setRadius(30.0);
     circle.setFill(Color.STEELBLUE);
     circle.setCache(true);

The code above produces the following:

Since:
  JavaFX 2.0

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final ObjectProperty<BlurType>`
  `blurType`
  The algorithm used to blur the shadow.
  `final ObjectProperty<Color>`
  `color`
  The shadow `Color`.
  `final DoubleProperty`
  `height`
  The vertical size of the shadow blur kernel.
  `final ObjectProperty<Effect>`
  `input`
  The input for this `Effect`.
  `final DoubleProperty`
  `offsetX`
  The shadow offset in the x direction, in pixels.
  `final DoubleProperty`
  `offsetY`
  The shadow offset in the y direction, in pixels.
  `final DoubleProperty`
  `radius`
  The radius of the shadow blur kernel.
  `final DoubleProperty`
  `spread`
  The spread of the shadow.
  `final DoubleProperty`
  `width`
  The horizontal size of the shadow blur kernel.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DropShadow()`
  Creates a new instance of DropShadow with default parameters.
  `DropShadow(double radius, double offsetX, double offsetY, Color color)`
  Creates a new instance of DropShadow with the specified radius, offsetX, offsetY and color.
  `DropShadow(double radius, Color color)`
  Creates a new instance of DropShadow with specified radius and color.
  `DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY)`
  Creates a new instance of DropShadow with the specified blurType, color, radius, spread, offsetX and offsetY.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final ObjectProperty<BlurType>`
  `blurTypeProperty()`
  The algorithm used to blur the shadow.
  `final ObjectProperty<Color>`
  `colorProperty()`
  The shadow `Color`.
  `final BlurType`
  `getBlurType()`
  Gets the value of the `blurType` property.
  `final Color`
  `getColor()`
  Gets the value of the `color` property.
  `final double`
  `getHeight()`
  Gets the value of the `height` property.
  `final Effect`
  `getInput()`
  Gets the value of the `input` property.
  `final double`
  `getOffsetX()`
  Gets the value of the `offsetX` property.
  `final double`
  `getOffsetY()`
  Gets the value of the `offsetY` property.
  `final double`
  `getRadius()`
  Gets the value of the `radius` property.
  `final double`
  `getSpread()`
  Gets the value of the `spread` property.
  `final double`
  `getWidth()`
  Gets the value of the `width` property.
  `final DoubleProperty`
  `heightProperty()`
  The vertical size of the shadow blur kernel.
  `final ObjectProperty<Effect>`
  `inputProperty()`
  The input for this `Effect`.
  `final DoubleProperty`
  `offsetXProperty()`
  The shadow offset in the x direction, in pixels.
  `final DoubleProperty`
  `offsetYProperty()`
  The shadow offset in the y direction, in pixels.
  `final DoubleProperty`
  `radiusProperty()`
  The radius of the shadow blur kernel.
  `final void`
  `setBlurType(BlurType value)`
  Sets the value of the `blurType` property.
  `final void`
  `setColor(Color value)`
  Sets the value of the `color` property.
  `final void`
  `setHeight(double value)`
  Sets the value of the `height` property.
  `final void`
  `setInput(Effect value)`
  Sets the value of the `input` property.
  `final void`
  `setOffsetX(double value)`
  Sets the value of the `offsetX` property.
  `final void`
  `setOffsetY(double value)`
  Sets the value of the `offsetY` property.
  `final void`
  `setRadius(double value)`
  Sets the value of the `radius` property.
  `final void`
  `setSpread(double value)`
  Sets the value of the `spread` property.
  `final void`
  `setWidth(double value)`
  Sets the value of the `width` property.
  `final DoubleProperty`
  `spreadProperty()`
  The spread of the shadow.
  `final DoubleProperty`
  `widthProperty()`
  The horizontal size of the shadow blur kernel.

  ### Methods declared in class java.lang.Object

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

- ## Property Details

  - ### input

    public final ObjectProperty<Effect> inputProperty
    The input for this `Effect`. If set to `null`, or left unspecified, a graphical image of the `Node` to which the `Effect` is attached will be used as the input.
    Default value:
      null
    See Also:
      - `getInput()`
      - `setInput(Effect)`
      - `inputProperty()`

  - ### radius

    public final DoubleProperty radiusProperty
    The radius of the shadow blur kernel. This attribute controls the distance that the shadow is spread to each side of the source pixels. Setting the radius is equivalent to setting both the `width` and `height` attributes to a value of `(2 * radius + 1)`.

               Min:   0.0
               Max: 127.0
           Default:  10.0
          Identity:   0.0

    Default value:
      10.0
    See Also:
      - `getRadius()`
      - `setRadius(double)`
      - `radiusProperty()`

  - ### width

    public final DoubleProperty widthProperty
    The horizontal size of the shadow blur kernel. This attribute controls the horizontal size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

               Min:   0.0
               Max: 255.0
           Default:  21.0
          Identity:  <1.0

    Default value:
      21.0
    See Also:
      - `getWidth()`
      - `setWidth(double)`
      - `widthProperty()`

  - ### height

    public final DoubleProperty heightProperty
    The vertical size of the shadow blur kernel. This attribute controls the vertical size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

               Min:   0.0
               Max: 255.0
           Default:  21.0
          Identity:  <1.0

    Default value:
      21.0
    See Also:
      - `getHeight()`
      - `setHeight(double)`
      - `heightProperty()`

  - ### blurType

    public final ObjectProperty<BlurType> blurTypeProperty
    The algorithm used to blur the shadow.

               Min: n/a
               Max: n/a
           Default: BlurType.THREE_PASS_BOX
          Identity: n/a

    Default value:
      THREE_PASS_BOX
    See Also:
      - `getBlurType()`
      - `setBlurType(BlurType)`
      - `blurTypeProperty()`

  - ### spread

    public final DoubleProperty spreadProperty
    The spread of the shadow. The spread is the portion of the radius where the contribution of the source material will be 100%. The remaining portion of the radius will have a contribution controlled by the blur kernel. A spread of `0.0` will result in a distribution of the shadow determined entirely by the blur algorithm. A spread of `1.0` will result in a solid growth outward of the source material opacity to the limit of the radius with a very sharp cutoff to transparency at the radius.

               Min: 0.0
               Max: 1.0
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    See Also:
      - `getSpread()`
      - `setSpread(double)`
      - `spreadProperty()`

  - ### color

    public final ObjectProperty<Color> colorProperty
    The shadow `Color`.

               Min: n/a
               Max: n/a
           Default: Color.BLACK
          Identity: n/a

    Default value:
      BLACK
    See Also:
      - `getColor()`
      - `setColor(Color)`
      - `colorProperty()`

  - ### offsetX

    public final DoubleProperty offsetXProperty
    The shadow offset in the x direction, in pixels.

               Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    See Also:
      - `getOffsetX()`
      - `setOffsetX(double)`
      - `offsetXProperty()`

  - ### offsetY

    public final DoubleProperty offsetYProperty
    The shadow offset in the y direction, in pixels.

               Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    See Also:
      - `getOffsetY()`
      - `setOffsetY(double)`
      - `offsetYProperty()`

- ## Constructor Details

  - ### DropShadow

    public DropShadow()
    Creates a new instance of DropShadow with default parameters.

  - ### DropShadow

    public DropShadow(double radius, Color color)
    Creates a new instance of DropShadow with specified radius and color.
    Parameters:
      `radius` - the radius of the shadow blur kernel
      `color` - the shadow `Color`
    Since:
      JavaFX 2.1

  - ### DropShadow

    public DropShadow(double radius, double offsetX, double offsetY, Color color)
    Creates a new instance of DropShadow with the specified radius, offsetX, offsetY and color.
    Parameters:
      `radius` - the radius of the shadow blur kernel
      `offsetX` - the shadow offset in the x direction
      `offsetY` - the shadow offset in the y direction
      `color` - the shadow `Color`
    Since:
      JavaFX 2.1

  - ### DropShadow

    public DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY)
    Creates a new instance of DropShadow with the specified blurType, color, radius, spread, offsetX and offsetY.
    Parameters:
      `blurType` - the algorithm used to blur the shadow
      `color` - the shadow `Color`
      `radius` - the radius of the shadow blur kernel
      `spread` - the portion of the radius where the contribution of the source material will be 100%
      `offsetX` - the shadow offset in the x direction
      `offsetY` - the shadow offset in the y direction
    Since:
      JavaFX 2.1

- ## Method Details

  - ### setInput

    public final void setInput(Effect value)
    Sets the value of the `input` property.
    Property description:
      The input for this `Effect`. If set to `null`, or left unspecified, a graphical image of the `Node` to which the `Effect` is attached will be used as the input.
    Default value:
      null
    Parameters:
      `value` - the value for the `input` property
    See Also:
      - `getInput()`
      - `inputProperty()`

  - ### getInput

    public final Effect getInput()
    Gets the value of the `input` property.
    Property description:
      The input for this `Effect`. If set to `null`, or left unspecified, a graphical image of the `Node` to which the `Effect` is attached will be used as the input.
    Default value:
      null
    Returns:
      the value of the `input` property
    See Also:
      - `setInput(Effect)`
      - `inputProperty()`

  - ### inputProperty

    public final ObjectProperty<Effect> inputProperty()
    The input for this `Effect`. If set to `null`, or left unspecified, a graphical image of the `Node` to which the `Effect` is attached will be used as the input.
    Default value:
      null
    Returns:
      the `input` property
    See Also:
      - `getInput()`
      - `setInput(Effect)`

  - ### setRadius

    public final void setRadius(double value)
    Sets the value of the `radius` property.
    Property description:
      The radius of the shadow blur kernel. This attribute controls the distance that the shadow is spread to each side of the source pixels. Setting the radius is equivalent to setting both the `width` and `height` attributes to a value of `(2 * radius + 1)`.

                 Min:   0.0
                 Max: 127.0
             Default:  10.0
            Identity:   0.0

    Default value:
      10.0
    Parameters:
      `value` - the value for the `radius` property
    See Also:
      - `getRadius()`
      - `radiusProperty()`

  - ### getRadius

    public final double getRadius()
    Gets the value of the `radius` property.
    Property description:
      The radius of the shadow blur kernel. This attribute controls the distance that the shadow is spread to each side of the source pixels. Setting the radius is equivalent to setting both the `width` and `height` attributes to a value of `(2 * radius + 1)`.

                 Min:   0.0
                 Max: 127.0
             Default:  10.0
            Identity:   0.0

    Default value:
      10.0
    Returns:
      the value of the `radius` property
    See Also:
      - `setRadius(double)`
      - `radiusProperty()`

  - ### radiusProperty

    public final DoubleProperty radiusProperty()
    The radius of the shadow blur kernel. This attribute controls the distance that the shadow is spread to each side of the source pixels. Setting the radius is equivalent to setting both the `width` and `height` attributes to a value of `(2 * radius + 1)`.

               Min:   0.0
               Max: 127.0
           Default:  10.0
          Identity:   0.0

    Default value:
      10.0
    Returns:
      the `radius` property
    See Also:
      - `getRadius()`
      - `setRadius(double)`

  - ### setWidth

    public final void setWidth(double value)
    Sets the value of the `width` property.
    Property description:
      The horizontal size of the shadow blur kernel. This attribute controls the horizontal size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

                 Min:   0.0
                 Max: 255.0
             Default:  21.0
            Identity:  <1.0

    Default value:
      21.0
    Parameters:
      `value` - the value for the `width` property
    See Also:
      - `getWidth()`
      - `widthProperty()`

  - ### getWidth

    public final double getWidth()
    Gets the value of the `width` property.
    Property description:
      The horizontal size of the shadow blur kernel. This attribute controls the horizontal size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

                 Min:   0.0
                 Max: 255.0
             Default:  21.0
            Identity:  <1.0

    Default value:
      21.0
    Returns:
      the value of the `width` property
    See Also:
      - `setWidth(double)`
      - `widthProperty()`

  - ### widthProperty

    public final DoubleProperty widthProperty()
    The horizontal size of the shadow blur kernel. This attribute controls the horizontal size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

               Min:   0.0
               Max: 255.0
           Default:  21.0
          Identity:  <1.0

    Default value:
      21.0
    Returns:
      the `width` property
    See Also:
      - `getWidth()`
      - `setWidth(double)`

  - ### setHeight

    public final void setHeight(double value)
    Sets the value of the `height` property.
    Property description:
      The vertical size of the shadow blur kernel. This attribute controls the vertical size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

                 Min:   0.0
                 Max: 255.0
             Default:  21.0
            Identity:  <1.0

    Default value:
      21.0
    Parameters:
      `value` - the value for the `height` property
    See Also:
      - `getHeight()`
      - `heightProperty()`

  - ### getHeight

    public final double getHeight()
    Gets the value of the `height` property.
    Property description:
      The vertical size of the shadow blur kernel. This attribute controls the vertical size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

                 Min:   0.0
                 Max: 255.0
             Default:  21.0
            Identity:  <1.0

    Default value:
      21.0
    Returns:
      the value of the `height` property
    See Also:
      - `setHeight(double)`
      - `heightProperty()`

  - ### heightProperty

    public final DoubleProperty heightProperty()
    The vertical size of the shadow blur kernel. This attribute controls the vertical size of the total area over which the shadow of a single pixel is distributed by the blur algorithm. Values less than `1.0` are not distributed beyond the original pixel and so have no blurring effect on the shadow.

               Min:   0.0
               Max: 255.0
           Default:  21.0
          Identity:  <1.0

    Default value:
      21.0
    Returns:
      the `height` property
    See Also:
      - `getHeight()`
      - `setHeight(double)`

  - ### setBlurType

    public final void setBlurType(BlurType value)
    Sets the value of the `blurType` property.
    Property description:
      The algorithm used to blur the shadow.

                 Min: n/a
                 Max: n/a
             Default: BlurType.THREE_PASS_BOX
            Identity: n/a

    Default value:
      THREE_PASS_BOX
    Parameters:
      `value` - the value for the `blurType` property
    See Also:
      - `getBlurType()`
      - `blurTypeProperty()`

  - ### getBlurType

    public final BlurType getBlurType()
    Gets the value of the `blurType` property.
    Property description:
      The algorithm used to blur the shadow.

                 Min: n/a
                 Max: n/a
             Default: BlurType.THREE_PASS_BOX
            Identity: n/a

    Default value:
      THREE_PASS_BOX
    Returns:
      the value of the `blurType` property
    See Also:
      - `setBlurType(BlurType)`
      - `blurTypeProperty()`

  - ### blurTypeProperty

    public final ObjectProperty<BlurType> blurTypeProperty()
    The algorithm used to blur the shadow.

               Min: n/a
               Max: n/a
           Default: BlurType.THREE_PASS_BOX
          Identity: n/a

    Default value:
      THREE_PASS_BOX
    Returns:
      the `blurType` property
    See Also:
      - `getBlurType()`
      - `setBlurType(BlurType)`

  - ### setSpread

    public final void setSpread(double value)
    Sets the value of the `spread` property.
    Property description:
      The spread of the shadow. The spread is the portion of the radius where the contribution of the source material will be 100%. The remaining portion of the radius will have a contribution controlled by the blur kernel. A spread of `0.0` will result in a distribution of the shadow determined entirely by the blur algorithm. A spread of `1.0` will result in a solid growth outward of the source material opacity to the limit of the radius with a very sharp cutoff to transparency at the radius.

                 Min: 0.0
                 Max: 1.0
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Parameters:
      `value` - the value for the `spread` property
    See Also:
      - `getSpread()`
      - `spreadProperty()`

  - ### getSpread

    public final double getSpread()
    Gets the value of the `spread` property.
    Property description:
      The spread of the shadow. The spread is the portion of the radius where the contribution of the source material will be 100%. The remaining portion of the radius will have a contribution controlled by the blur kernel. A spread of `0.0` will result in a distribution of the shadow determined entirely by the blur algorithm. A spread of `1.0` will result in a solid growth outward of the source material opacity to the limit of the radius with a very sharp cutoff to transparency at the radius.

                 Min: 0.0
                 Max: 1.0
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Returns:
      the value of the `spread` property
    See Also:
      - `setSpread(double)`
      - `spreadProperty()`

  - ### spreadProperty

    public final DoubleProperty spreadProperty()
    The spread of the shadow. The spread is the portion of the radius where the contribution of the source material will be 100%. The remaining portion of the radius will have a contribution controlled by the blur kernel. A spread of `0.0` will result in a distribution of the shadow determined entirely by the blur algorithm. A spread of `1.0` will result in a solid growth outward of the source material opacity to the limit of the radius with a very sharp cutoff to transparency at the radius.

               Min: 0.0
               Max: 1.0
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    Returns:
      the `spread` property
    See Also:
      - `getSpread()`
      - `setSpread(double)`

  - ### setColor

    public final void setColor(Color value)
    Sets the value of the `color` property.
    Property description:
      The shadow `Color`.

                 Min: n/a
                 Max: n/a
             Default: Color.BLACK
            Identity: n/a

    Default value:
      BLACK
    Parameters:
      `value` - the value for the `color` property
    See Also:
      - `getColor()`
      - `colorProperty()`

  - ### getColor

    public final Color getColor()
    Gets the value of the `color` property.
    Property description:
      The shadow `Color`.

                 Min: n/a
                 Max: n/a
             Default: Color.BLACK
            Identity: n/a

    Default value:
      BLACK
    Returns:
      the value of the `color` property
    See Also:
      - `setColor(Color)`
      - `colorProperty()`

  - ### colorProperty

    public final ObjectProperty<Color> colorProperty()
    The shadow `Color`.

               Min: n/a
               Max: n/a
           Default: Color.BLACK
          Identity: n/a

    Default value:
      BLACK
    Returns:
      the `color` property
    See Also:
      - `getColor()`
      - `setColor(Color)`

  - ### setOffsetX

    public final void setOffsetX(double value)
    Sets the value of the `offsetX` property.
    Property description:
      The shadow offset in the x direction, in pixels.

                 Min: n/a
                 Max: n/a
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Parameters:
      `value` - the value for the `offsetX` property
    See Also:
      - `getOffsetX()`
      - `offsetXProperty()`

  - ### getOffsetX

    public final double getOffsetX()
    Gets the value of the `offsetX` property.
    Property description:
      The shadow offset in the x direction, in pixels.

                 Min: n/a
                 Max: n/a
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Returns:
      the value of the `offsetX` property
    See Also:
      - `setOffsetX(double)`
      - `offsetXProperty()`

  - ### offsetXProperty

    public final DoubleProperty offsetXProperty()
    The shadow offset in the x direction, in pixels.

               Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    Returns:
      the `offsetX` property
    See Also:
      - `getOffsetX()`
      - `setOffsetX(double)`

  - ### setOffsetY

    public final void setOffsetY(double value)
    Sets the value of the `offsetY` property.
    Property description:
      The shadow offset in the y direction, in pixels.

                 Min: n/a
                 Max: n/a
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Parameters:
      `value` - the value for the `offsetY` property
    See Also:
      - `getOffsetY()`
      - `offsetYProperty()`

  - ### getOffsetY

    public final double getOffsetY()
    Gets the value of the `offsetY` property.
    Property description:
      The shadow offset in the y direction, in pixels.

                 Min: n/a
                 Max: n/a
             Default: 0.0
            Identity: 0.0

    Default value:
      0.0
    Returns:
      the value of the `offsetY` property
    See Also:
      - `setOffsetY(double)`
      - `offsetYProperty()`

  - ### offsetYProperty

    public final DoubleProperty offsetYProperty()
    The shadow offset in the y direction, in pixels.

               Min: n/a
               Max: n/a
           Default: 0.0
          Identity: 0.0

    Default value:
      0.0
    Returns:
      the `offsetY` property
    See Also:
      - `getOffsetY()`
      - `setOffsetY(double)`