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

จะวาดรูปร่างที่กำหนดเองใน JavaFX โดยใช้คลาส Path ได้อย่างไร


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);
   }
}

ผลลัพธ์

จะวาดรูปร่างที่กำหนดเองใน JavaFX โดยใช้คลาส Path ได้อย่างไร