This operation takes two or more shapes as an input. Then, it returns the area of the first shape excluding the area overlapped by the second one as shown below.
The subtract() (static) method of the javafx.scene.shape.Shape class accepts two Shape objects and returns the result of the subtract operation of the given objects.
Example
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.scene.shape.Circle; import javafx.scene.shape.Shape; public class JavaFXSubtractExample extends Application { public void start(Stage stage) { //Drawing circle1 Circle circle1 = new Circle(); circle1.setCenterX(230.0f); circle1.setCenterY(100.0f); circle1.setRadius(75.0f); circle1.setFill(Color.DARKRED); //Drawing Circle2 Circle circle2 = new Circle(); circle2.setCenterX(280.0f); circle2.setCenterY(170.0f); circle2.setRadius(75.0f); circle2.setFill(Color.DARKRED); //Drawing Circle3 Circle circle3 = new Circle(); circle3.setCenterX(330.0f); circle3.setCenterY(100.0f); circle3.setRadius(75.0f); circle3.setFill(Color.DARKRED); //Intersect Operation Shape subtract = Shape.subtract(circle1, circle2); subtract = Shape.intersect(subtract, circle3); subtract.setFill(Color.RED); //Setting the stage Group root = new Group(circle1, circle2, circle3, subtract); Scene scene = new Scene(root, 595, 300); stage.setTitle("Subtract Operation"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }