Open In App

JavaFX | DropShadow Class

Last Updated : 23 Aug, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

DropShadow class is a part of JavaFX. DropShadow class creates a high-level effect that renders the shadow of an object behind the content with the specified radius, spread, blur type and offset. DropShadow class inherits Effect class.

Constructors of the class:

  1. DropShadow(): Creates a new object of DropShadow.
  2. DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY): Creates a new object of DropShadow with specified values blurType, radius, spread, offsetX, offsetY.
  3. DropShadow(double radius, Color color): Creates a new object of DropShadow with specified value of radius and color.
  4. DropShadow(double radius, double offsetX, double offsetY, Color color): Creates a new object of DropShadow with specified value of radius, offsetX, offsetY and color.

Commonly Used Methods:

Method Explanation
getBlurType() Returns the blur type of the effect.
getColor() Returns the color of the effect.
getInput() Returns the value of property input.
getRadius() Returns the radius of the dropShadow effect.
setBlurType(BlurType v) Sets the blur type of the dropShadow effect.
setColor(Color v) Sets the Color of the dropShadow effect.
setInput(Effect v) Sets the value of the property input.
setRadius(double v) Sets the Radius of the dropshadow effect.
setOffsetX(double v) Sets the value of offsetX.
setOffsetY(double v) Sets the value of offsetY.
getOffsetX() Returns the value of offsetX.
getOffsetY() Returns the value of offsetY.
getSpread() Returns the value of spread of drop Shadow effect.
setSpread(double v) Sets the value of spread of drop Shadow effect.

Below programs illustrate the use of DropShadow class:

  1. Java program to create a Circle and add DropShadow effect to it: In this program we will create a Circle named circle and create a DropShadow effect drop_shadow with specified radius and color. The DropShadow effect will be added to the circle using the setEffect() function and the circle will be added to the group. The circles will be translated to specific position in the stage using setTranslateX() and setTranslateY() function. The group will be added to the scene and the scene will be added to the stage.




    // Java program to create a Circle and
    // add DropShadow effect to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.image.*;
    import javafx.scene.effect.*;
    import java.io.*;
    import javafx.scene.shape.Circle;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
      
    public class drop_shadow_1 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("drop_shadow example");
      
            // create a circle
            Circle circle = new Circle(50.0f, 50.0f, 25.0f);
      
            // set fill for circle
            circle.setFill(Color.BLUE);
      
            // translate to a position
            circle.setTranslateX(50.0f);
            circle.setTranslateY(50.0f);
      
            // create a drop_shadow effect
            DropShadow drop_shadow = new DropShadow(10, Color.RED);
      
            // set effect
            circle.setEffect(drop_shadow);
      
            // create a Group
            Group group = new Group(circle);
      
            // create a scene
            Scene scene = new Scene(group, 200, 200);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    
    

    Output:

  2. Java program to create four Circles and add DropShadow effect to it, which are of different blur types and different values of offsetX, offsetY and radius: In this program we will create Circles named circle, circle1, circle2, circle3 and create a DropShadow effects named drop_shadow1, drop_shadow2, drop_shadow3, drop_shadow4 with specified radius, color, offsetX, offsetY, spread and blur type. The DropShadow effect will be added to the circle using the setEffect() function and the circles will be added to the group. The circles will be translated to specific position in the stage using setTranslateX() and setTranslateY() function. The group will be added to the scene and the scene will be added to the stage.




    // Java program to create four Circles and 
    // add DropShadow effect to it which are of
    // different blur types and different values 
    // of offsetX, offsetY and radius
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.image.*;
    import javafx.scene.effect.*;
    import java.io.*;
    import javafx.scene.shape.Circle;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
      
    public class drop_shadow_2 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("drop_shadow example");
      
            // create a circle
            Circle circle = new Circle(0.0f, 0.0f, 25.0f, Color.RED);
            Circle circle1 = new Circle(0.0f, 0.0f, 25.0f, Color.RED);
            Circle circle2 = new Circle(0.0f, 0.0f, 25.0f, Color.RED);
            Circle circle3 = new Circle(0.0f, 0.0f, 25.0f, Color.RED);
      
            // translate to a position
            circle.setTranslateX(50.0f);
            circle.setTranslateY(50.0f);
      
            // translate to a position
            circle1.setTranslateX(150.0f);
            circle1.setTranslateY(50.0f);
      
            // translate to a position
            circle2.setTranslateX(50.0f);
            circle2.setTranslateY(150.0f);
      
            // translate to a position
            circle3.setTranslateX(150.0f);
            circle3.setTranslateY(150.0f);
      
            // create drop_shadow effect
            DropShadow drop_shadow1 = new DropShadow(BlurType.values()[0], 
                                         Color.BLUE, 5, 3.0f, 2.0f, 2.0f);
      
            DropShadow drop_shadow2 = new DropShadow(BlurType.values()[1], 
                                         Color.BLUE, 5, 3.0f, 3.0f, 3.0f);
      
            DropShadow drop_shadow3 = new DropShadow(BlurType.values()[2], 
                                         Color.BLUE, 5, 4.0f, 3.0f, 3.0f);
      
            DropShadow drop_shadow4 = new DropShadow(BlurType.values()[3], 
                                         Color.BLUE, 5, 4.0f, 2.0f, 2.0f);
      
            // set effect
            circle.setEffect(drop_shadow1);
            circle1.setEffect(drop_shadow2);
            circle2.setEffect(drop_shadow3);
            circle3.setEffect(drop_shadow4);
      
            // create a Group
            Group group = new Group(circle, circle1, circle2, circle3);
      
            // create a scene
            Scene scene = new Scene(group, 400, 400);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    
    

    Output:

Note: The above programs might not run in an online IDE. Please use an offline compiler.

Reference: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/DropShadow.html



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads