Path ক্লাস দিয়ে কাস্টম শেপ
javafx.scene.shape প্যাকেজে বিল্ট-ইন ২D শেপ ক্লাস রয়েছে (লাইন, সার্কেল, পলিগন, এলিপস ইত্যাদি), কিন্তু এগুলো প্রিমিটিভ শেপ। জটিল কাস্টম শেপ আঁকার জন্য Path ক্লাস ব্যবহার করতে হয়।
Path ক্লাস
Path ক্লাস একটি শেপের জ্যামিতিক আউটলাইন রিপ্রেজেন্ট করে এবং একটি অবজার্ভেবল লিস্ট ধারণ করে যা বিভিন্ন PathElement ধারণ করে (MoveTo, LineTo, HLineTo, VLineTo, ArcTo, QuadCurveTo, CubicCurveTo)।
এই ক্লাসের কনস্ট্রাক্টর ভেরিয়েবল আর্গুমেন্ট হিসেবে PathElement টাইপের অবজেক্ট নেয় এবং সেগুলো 바탕으로 পথ তৈরি করে।
উদাহরণ: জটিল কাস্টম শেপ আঁকা
Path Element MoveTo বর্তমান পজিশন নির্দিষ্ট বিন্দুতে সরিয়ে আনতে ব্যবহৃত হয় এবং LineTo বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট কোঅর্ডিনেট পর্যন্ত লাইন আঁকে।
নিচের উদাহরণে MoveTo, LineTo এবং 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);
}
}
আউটপুট
