Shadow (JavaFX 25)
Description: declaration: module: javafx.graphics, package: javafx.scene.effect, class: Shadow

# Class Shadow

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

public class Shadow extends Effect
An effect which creates a monochrome duplicate of an input with blurry edges. This effect is primarily used along with its default black color for purposes of combining it with the original to create a shadow. It can also be used with a light color and combined with an original to create a glow effect. The `DropShadow` effect is a utility effect which automatically combines this `Shadow` effect with an original graphic for ease of adding a shadow to an existing scene graph `Node` with a single effect.

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`
  `radius`
  The radius of the shadow blur kernel.
  `final DoubleProperty`
  `width`
  The horizontal size of the shadow blur kernel.

- ## Constructor Summary

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

- ## 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`
  `getRadius()`
  Gets the value of the `radius` 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`
  `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`
  `setRadius(double value)`
  Sets the value of the `radius` property.
  `final void`
  `setWidth(double value)`
  Sets the value of the `width` property.
  `final DoubleProperty`
  `widthProperty()`
  The horizontal size of the shadow blur kernel.

  ### Methods declared in class 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()`

  - ### 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()`

- ## Constructor Details

  - ### Shadow

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

  - ### Shadow

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

  - ### Shadow

    public Shadow(BlurType blurType, Color color, double radius)
    Creates a new instance of Shadow with the specified blurType, color, radius.
    Parameters:
      `blurType` - the algorithm used to blur the shadow
      `color` - the shadow `Color`
      `radius` - the radius of the shadow blur kernel
    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)`

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