Adding Drop Shadow to a Shape
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.effect.DropShadowBuilder;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Shapes");
Group root = new Group();
Scene scene = new Scene(root, 300, 300, Color.WHITE);
Ellipse bigCircle = EllipseBuilder.create()
.centerX(100)
.centerY(100)
.radiusX(50)
.radiusY(75/2)
.strokeWidth(3)
.stroke(Color.BLACK)
.fill(Color.WHITE)
.build();
Ellipse smallCircle = EllipseBuilder.create()
.centerX(100)
.centerY(100)
.radiusX(35/2)
.radiusY(25/2)
.build();
Shape shape = Path.subtract(bigCircle, smallCircle);
shape.setStrokeWidth(1);
shape.setStroke(Color.BLACK);
shape.setFill(Color.rgb(255, 200, 0));
DropShadow dropShadow = DropShadowBuilder.create()
.offsetX(2.0f)
.offsetY(2.0f)
.color(Color.rgb(50, 50, 50, .588))
.build();
shape.setEffect(dropShadow);
root.getChildren().add(shape);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Related examples in the same category