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

องค์ประกอบพาธต่างๆ ใน ​​JavaFX คืออะไร?


The javafx.scene.shape package มีคลาสซึ่งคุณสามารถวาดรูปร่าง 2D ต่างๆ ได้ แต่สิ่งเหล่านี้เป็นเพียงรูปร่างดั้งเดิม เช่น เส้น วงกลม รูปหลายเหลี่ยม และวงรี เป็นต้น... ดังนั้น หากคุณต้องการวาดรูปร่างที่กำหนดเองที่ซับซ้อน คุณต้องใช้คลาส Path

คลาสเส้นทาง

คลาส Path แสดงถึงโครงร่างเรขาคณิตของรูปร่างโดยใช้คลาสนี้ คุณสามารถวาดเส้นทางที่กำหนดเองได้

ในการวาดพาธแบบกำหนดเอง JavaFX ได้จัดเตรียมเอลิเมนต์พาธต่างๆ และทั้งหมดนี้มีให้เป็นคลาสใน javafx.scene.shape แพกเกจ

  • LineTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง line . ช่วยให้คุณวาดเส้นตรงจากพิกัดปัจจุบันไปยังพิกัด (ใหม่) ที่ระบุ

  • HlineTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง เส้นแนวนอน . ช่วยให้คุณวาดเส้นแนวนอนจากพิกัดปัจจุบันไปยังพิกัด (ใหม่) ที่ระบุ

  • VLineTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง เส้นแนวตั้ง . ช่วยให้คุณวาดเส้นแนวตั้งจากพิกัดปัจจุบันไปยังพิกัด (ใหม่) ที่ระบุ

  • QuadCurveTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง เส้นโค้งกำลังสอง . ช่วยให้คุณวาดเส้นโค้งกำลังสองจากพิกัดปัจจุบันไปยังพิกัดที่กำหนด (ใหม่)

  • CubicCurveTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง เส้นโค้งลูกบาศก์ . ช่วยให้คุณวาดเส้นโค้งลูกบาศก์จากพิกัดปัจจุบันไปยังพิกัด (ใหม่) ที่ระบุ

  • ArcTo − นี่คือคลาสที่แสดงถึงองค์ประกอบเส้นทาง ส่วนโค้ง . ช่วยให้คุณวาดส่วนโค้งจากพิกัดปัจจุบันไปยังพิกัด (ใหม่) ที่ระบุ

  • ย้ายไปที่ − เมื่อใช้คลาสนี้ คุณจะย้ายเส้นทางจากพิกัดปัจจุบันไปยังพิกัดใหม่ได้

การสร้างเส้นทางโดยใช้องค์ประกอบเส้นทาง

คลาส Path มีรายการที่สังเกตได้ซึ่งมีองค์ประกอบพาธของพาธปัจจุบัน ดังนั้นการวาดเส้นทาง -

  • สร้างอินสแตนซ์ของคลาส PathElement ที่จำเป็น

  • ตั้งค่าคุณสมบัติของแต่ละพาธโดยใช้เมธอด setter หรือส่งผ่านอาร์กิวเมนต์ไปยังคอนสตรัคเตอร์

  • ยกตัวอย่างคลาส Path

  • รับวัตถุรายการที่สังเกตได้ของเส้นทางที่สร้างขึ้นด้านบนโดยใช้ getElements() วิธีการ

  • เพิ่มออบเจ็กต์องค์ประกอบพาธทั้งหมดไปยังรายการที่สังเกตได้ตามลำดับที่ต้องการโดยใช้เมธอด add() หรือ addAll()

  • สุดท้าย เพิ่มเส้นทางไปยังวัตถุกลุ่ม

หมายเหตุ − คุณยังสามารถส่งองค์ประกอบพาธไปยังคอนสตรัคเตอร์ของคลาส Path ได้อีกด้วย

ตัวอย่าง

ตัวอย่าง JavaFX ต่อไปนี้สร้างเส้นทางโดยใช้องค์ประกอบเส้นทาง LineTo -

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;
public class PathElementsExample extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(208, 71);
      LineTo line1 = new LineTo(421, 161);
      LineTo line2 = new LineTo(226,232);
      LineTo line3 = new LineTo(332,52);
      LineTo line4 = new LineTo(369, 250);
      LineTo line5 = new LineTo(208, 71);
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      path.setFill(Color.DARKCYAN);
      path.setStrokeWidth(8.0);
      path.setStroke(Color.DARKSLATEGREY);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 595, 300, Color.BEIGE);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

ผลลัพธ์

องค์ประกอบพาธต่างๆ ใน ​​JavaFX คืออะไร?