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

คุณสมบัติของอ็อบเจ็กต์ 2 มิติใน JavaFX

สำหรับอ็อบเจ็กต์ 2 มิติทั้งหมด คุณสามารถกำหนดคุณสมบัติต่างๆ ได้ดังนี้:

  • Stroke Type (ประเภทขอบ) - ระบุประเภทของเส้นขอบของรูปทรง กำหนดได้ด้วยเมธอด setStrokeType() ของคลาส Shape
    JavaFX รองรับ 3 ประเภท: StrokeType.INSIDE, StrokeType.OUTSIDE, StrokeType.CENTERED
  • Stroke Width (ความกว้างขอบ) - ระบุความกว้างของเส้นขอบ กำหนดได้ด้วยเมธอด setStrokeWidth() ของคลาส Shape
  • Fill (การเติมสี) - ระบุสีที่ใช้เติมพื้นที่ภายในรูปทรง กำหนดได้ด้วยเมธอด setFill() ของคลาส Shape
  • Stroke (สีขอบ) - ระบุสีของเส้นขอบ กำหนดได้ด้วยเมธอด setStroke() ของคลาส javafx.scene.shape.Shape
  • Stroke Line Cap (ปลายเส้น) - ระบุสไตล์ปลายเส้น กำหนดได้ด้วยเมธอด setStrokeLineCap() ของคลาส javafx.scene.shape.Shape
    รองรับ 3 แบบ: BUTT, ROUND, SQUARE
  • Stroke Line Join (จุดต่อเส้น) - ในรูปทรงที่เกิดจากการต่อเส้นหลายเส้น ระบุรูปทรงของจุดต่อ กำหนดได้ด้วยเมธอด setStrokeLineJoin()
    รองรับ 3 แบบ: BEVEL, MITER, ROUND
  • Stroke Miter Limit (ขีดจำกัด Miter) - ระบุขีดจำกัดสำหรับ stroke line join แบบ MITER กำหนดได้ด้วยเมธอด setStrokeMiterLimit() ของคลาส javafx.scene.shape.Shape
    รับค่า double หากค่าน้อยกว่า 1.0 จะถือเป็น 1.0
  • Smooth (ความเรียบ) - ระบุว่าใช้ antialiasing hints หรือไม่ กำหนดได้ด้วยเมธอด setSmooth() ของคลาส javafx.scene.shape.Shape
  • Stroke Dash Offset (ออฟเซตเส้นประ) - หากใช้รูปแบบเส้นประ ระบุตำแหน่งเริ่มต้นของรูปแบบเส้นประ

ตัวอย่างโค้ด

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.Rectangle;
import javafx.scene.shape.StrokeLineCap;
import javafx.scene.shape.StrokeLineJoin;
import javafx.scene.shape.StrokeType;

public class ShapeProperties extends Application {
    @Override
    public void start(Stage stage) {
        // วาดสี่เหลี่ยมผืนผ้า
        Rectangle rect = new Rectangle(100.0, 75.0, 400.0, 150.0);
        
        // คุณสมบัติรูปทรง 2D
        rect.setStrokeWidth(25.0);
        rect.setStrokeType(StrokeType.OUTSIDE);
        rect.setStroke(Color.BLUE);
        rect.setStrokeMiterLimit(8.0);
        rect.setStrokeLineCap(StrokeLineCap.ROUND);
        rect.setStrokeLineJoin(StrokeLineJoin.MITER);
        rect.setSmooth(false);
        
        // เตรียม Stage
        Group root = new Group(rect);
        Scene scene = new Scene(root, 600, 300);
        stage.setTitle("ตัวอย่างคุณสมบัติรูปทรง");
        stage.setScene(scene);
        stage.show();
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}

ผลลัพธ์

คุณสมบัติของอ็อบเจ็กต์ 2 มิติใน JavaFX