The javafx.scene.shape package มีคลาสซึ่งคุณสามารถวาดรูปร่าง 2D ได้หลากหลาย แต่สิ่งเหล่านี้เป็นเพียงรูปร่างดั้งเดิม เช่น เส้น วงกลม รูปหลายเหลี่ยม และวงรี ฯลฯ…
ดังนั้น หากคุณต้องการวาดรูปร่างแบบกำหนดเองที่ซับซ้อน คุณต้องใช้คลาส Path
คลาสเส้นทาง
คลาส Path แสดงถึงโครงร่างเรขาคณิตของรูปร่าง และแนบมากับรายการที่สังเกตได้ซึ่งมีองค์ประกอบเส้นทางต่างๆ เช่น MoveTo, LineTo, HlineTo, VlineTo, ArcTo, QuadCurveTo, CubicCurveTo
ตัวสร้างของคลาสนี้ยอมรับอาร์กิวเมนต์ของตัวแปรประเภท PathElement และสร้างเส้นทางตามองค์ประกอบเส้นทางที่กำหนด
ตัวอย่าง
Path Element MoveTo ใช้เพื่อย้ายตำแหน่งปัจจุบันของเส้นทางไปยังจุดที่ระบุ และ LineTo จะลากเส้นจากพิกัดปัจจุบันไปยังตำแหน่งที่ระบุ
ในตัวอย่างต่อไปนี้ เรากำลังพยายามวาดรูปทรงที่ซับซ้อนแบบกำหนดเองโดยใช้คลาส MoveTo PathTo และ Path -
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.LineTo; import javafx.scene.shape.MoveTo; import javafx.scene.shape.Path; public class ComplexShape extends Application { public void start(Stage stage) { //Drawing the shape MoveTo moveTo = new MoveTo(108, 71); LineTo line1 = new LineTo(321, 161); LineTo line2 = new LineTo(126,232); LineTo line3 = new LineTo(232,52); LineTo line4 = new LineTo(269, 250); LineTo line5 = new LineTo(108, 71); //Creating a Path Path path = new Path(moveTo, line1, line2, line3, line4, line5); //Preparing the Stage object Group root = new Group(path); Scene scene = new Scene(root, 600, 300); stage.setTitle("Drawing an arc through a path"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
ผลลัพธ์