Explain the Stroke Line Join property of 2D shapes in JavaFX



In shapes formed by joining more than one line, the stroke line join property specifies/defines the shape of the joint of the two lines. You can set the stoke line join using the setStrokeLineJoin() method.

Java FX supports three kinds of stroke line joins represented by three constants of the Enum named StrokeLineJoin they are −

  • BEVEL − In this type, the outside edges of the intersection are connected with a line segment.

  • MITER − In this type, the outside edges of the intersection are joined together forming a sharp edge.

  • ROUND − In this type, the outside edges of the intersection are joined by rounding off the corner, the radius of this will be exactly half the width of the join.

Example

import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.Polygon; import javafx.scene.shape.StrokeLineJoin; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; public class StrokeLineJoinExample extends Application {    public void start(Stage stage) {       Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);       Text label1 = new Text("Original Image");       label1.setFont(font);       label1.setX(250.0);       label1.setY(125.0);       Polygon rhombus1 = new Polygon(300.0, 0.0, 250.0, 50.0, 300.0, 100.0, 350.0, 50.0);       Text label2 = new Text("Line Join: Round");       label2.setFont(font);       label2.setX(25.0);       label2.setY(275.0);       Polygon rhombus2 = new Polygon(100.0, 150.0, 50.0, 200.0, 100.0, 250.0, 150.0, 200.0);       rhombus2.setStroke(Color.BLUE);       rhombus2.setStrokeWidth(20);       rhombus2.setStrokeLineJoin(StrokeLineJoin.ROUND);       Text label3 = new Text("Line Join: Bevel");       label3.setFont(font);       label3.setX(250.0);       label3.setY(275.0);       Polygon rhombus3 = new Polygon(300.0, 150.0, 250.0, 200.0, 300.0, 250.0, 350.0, 200.0);       rhombus3.setStroke(Color.BLUE);       rhombus3.setStrokeWidth(20.0);       rhombus3.setStrokeLineJoin(StrokeLineJoin.BEVEL);       Text label4 = new Text("Line Join: Miter");       label4.setFont(font);       label4.setX(430.0);       label4.setY(275.0);       Polygon rhombus4 = new Polygon(490.0, 150.0, 440, 200.0, 490.0, 250.0, 540.0, 200.0);       rhombus4.setStroke(Color.BLUE);       rhombus4.setStrokeWidth(20.0);       rhombus4.setStrokeLineJoin(StrokeLineJoin.MITER);       //Creating a Group object       Group root = new Group(label1, label2, label3, label4, rhombus1, rhombus2, rhombus3, rhombus4);       //Creating a scene object       Scene scene = new Scene(root, 595, 310);       //Setting title to the Stage       stage.setTitle("Stroke Line Join");       //Adding scene to the stage       stage.setScene(scene);       //Displaying the contents of the stage       stage.show();    }    public static void main(String args[]){       launch(args);    } }

Output

Updated on: 2020-04-14T07:31:57+05:30

377 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements