คลาส QuadCurveTo แทนองค์ประกอบเส้นทางแบบโค้งกำลังสอง (Quadratic Curve) ช่วยให้คุณวาดโค้งกำลังสองจากพิกัดปัจจุบันไปยังพิกัดใหม่ที่ระบุ
ขั้นตอนการสร้างองค์ประกอบเส้นทางโค้งกำลังสอง
- สร้างอินสแตนซ์ของคลาส QuadCurveTo
- กำหนดค่าคุณสมบัติของคลาสนี้โดยใช้เมธอด setter หรือส่งผ่านค่าให้กับคอนสตรักเตอร์
- สร้างอินสแตนซ์ของคลาส Path
- ดึงรายการ observable list ของ Path ที่สร้างขึ้นโดยใช้เมธอด getElements()
- เพิ่มอ็อบเจ็กต์ QuadCurveTo ที่สร้างขึ้นลงใน observable list โดยใช้เมธอด add()
- สุดท้าย เพิ่ม path เข้ากับอ็อบเจ็กต์ Group
ตัวอย่างโค้ด
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.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.scene.shape.VLineTo;
public class QuadraticCurveToExample extends Application {
@Override
public void start(Stage stage) {
// สร้างอ็อบเจ็กต์ PathElement
MoveTo moveTo = new MoveTo(15, 15);
LineTo line1 = new LineTo(100, 150);
// สร้างอินสแตนซ์ของคลาส QuadCurveTo
QuadCurveTo quadCurveTo = new QuadCurveTo();
// กำหนดคุณสมบัติของ QuadCurveTo
quadCurveTo.setX(500.0f);
quadCurveTo.setY(220.0f);
quadCurveTo.setControlX(250.0f);
quadCurveTo.setControlY(0.0f);
// สร้างอ็อบเจ็กต์ VLineTo
VLineTo vLine = new VLineTo();
vLine.setY(80);
// สร้าง Path
Path path = new Path();
path.getElements().addAll(moveTo, line1, quadCurveTo, vLine);
// กำหนดคุณสมบัติอื่นๆ
path.setStrokeWidth(8.0);
path.setStroke(Color.DARKSLATEGREY);
// เตรียม Stage
Group root = new Group(path);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("ตัวอย่าง JavaFX - Quadratic Curve");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ผลลัพธ์
