Quadratic curve เป็น Bezier parametric curve ใน XY plane ระดับ 2
ใน JavaFX วงกลมแทนด้วยคลาส javafx.scene.shape.QuadCurve คล้าย CubicCurve แต่ใช้ control point เพียงจุดเดียว
คลาสนี้มี 6 คุณสมบัติ:
- startX - พิกัด x จุดเริ่มต้น ตั้งค่าด้วย setStartX()
- startY - พิกัด y จุดเริ่มต้น ตั้งค่าด้วย setStartY()
- controlX - พิกัด x จุดควบคุม ตั้งค่าด้วย setControlX()
- controlY - พิกัด y จุดควบคุม ตั้งค่าด้วย setControlY()
- endX - พิกัด x จุดสิ้นสุด ตั้งค่าด้วย setEndX()
- endY - พิกัด y จุดสิ้นสุด ตั้งค่าด้วย setEndY()
ขั้นตอนสร้างวงกลม (QuadCurve):
- สร้างอินสแตนซ์คลาส
- ตั้งค่าคุณสมบัติที่ต้องการ ใช้ setter หรือส่งให้คอนสตรัคเตอร์
- เพิ่มโหนด (shape) ที่สร้างเข้าไปใน Group object
ตัวอย่าง
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.QuadCurve;
public class DrawingQuadCurve extends Application {
@Override
public void start(Stage stage) {
// วาด quadratic curve
QuadCurve qudraticCurve = new QuadCurve();
// ตั้งค่าคุณสมบัติ
qudraticCurve.setStartX(75.0f);
qudraticCurve.setStartY(75.0f);
qudraticCurve.setControlX(250.0f);
qudraticCurve.setControlY(250.0f);
qudraticCurve.setEndX(500.0f);
qudraticCurve.setEndY(260.0f);
// ตั้งค่าอื่นๆ
qudraticCurve.setFill(Color.CHOCOLATE);
qudraticCurve.setStrokeWidth(8.0);
qudraticCurve.setStroke(Color.BROWN);
// ตั้งค่า Scene
Group root = new Group(qudraticCurve);
Scene scene = new Scene(root, 595, 300);
stage.setTitle("Drawing a quadratic curve");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
ผลลัพธ์
