Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คุณสมบัติ Stroke Miter Limit ของรูปทรง 2D ใน JavaFX

คุณสมบัติ Stroke Miter Limit ระบุขีดจำกัดสำหรับ stroke line join ในสไตล์ StrokeLineJoin.MITER สามารถตั้งค่าได้ด้วยเมธอด setStrokeMiterLimit() ของคลาส javafx.scene.shape.Shape

เมธอดนี้รับค่า double และจำกัด stroke miter limit ให้เป็นค่านั้น หากค่าที่ให้มาน้อยกว่า 1.0 จะถือเป็น 1.0

ตัวอย่าง

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 StrokeMiterExample extends Application {
    public void start(Stage stage) {
        Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
        Text label2 = new Text("Miter Limit: 3");
        label2.setFont(font);
        label2.setX(50.0);
        label2.setY(275.0);

        Polygon shape1 = new Polygon(100.0, 50.0, 50.0, 200.0, 150.0, 200.0);
        shape1.setStroke(Color.BLUE);
        shape1.setStrokeWidth(20);
        shape1.setStrokeLineJoin(StrokeLineJoin.MITER);
        shape1.setStrokeMiterLimit(3);

        Text label3 = new Text("Miter Limit: 4");
        label3.setFont(font);
        label3.setX(250.0);
        label3.setY(275.0);

        Polygon shape2 = new Polygon(300.0, 50.0, 250.0, 200.0, 350.0, 200.0);
        shape2.setStroke(Color.BLUE);
        shape2.setStrokeWidth(20.0);
        shape2.setStrokeLineJoin(StrokeLineJoin.MITER);
        shape2.setStrokeMiterLimit(4);

        Text label4 = new Text("Miter Limit: 0.4");
        label4.setFont(font);
        label4.setX(430.0);
        label4.setY(275.0);

        Polygon shape3 = new Polygon(490.0, 50.0, 440, 200.0, 540.0, 200.0);
        shape3.setStroke(Color.BLUE);
        shape3.setStrokeWidth(20.0);
        shape3.setStrokeLineJoin(StrokeLineJoin.MITER);
        shape3.setStrokeMiterLimit(0.4);

        Group root = new Group(label2, label3, label4, shape1, shape2, shape3);
        Scene scene = new Scene(root, 595, 310);
        stage.setTitle("Stroke Miter Limit");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]){
        launch(args);
    }
}

ผลลัพธ์

คุณสมบัติ Stroke Miter Limit ของรูปทรง 2D ใน JavaFX