কম্পিউটার টিউটোরিয়াল

জাভाएফএক্স-এ বিভিন্ন পথ এলিমেন্ট কী কী?

javafx.scene.shape প্যাকেজে বিভিন্ন ২D আকৃতি আঁকার জন্য ক্লাস রয়েছে, কিন্তু এগুলো শুধুমাত্র প্রিমিটিভ আকৃতি যেমন লাইন, সার্কেল, পলিগন, এলিপস ইত্যাদি। সুতরাং, জটিল কাস্টম আকৃতি আঁকার জন্য Path ক্লাস ব্যবহার করতে হয়।

Path ক্লাস

Path ক্লাসটি একটি আকৃতির জ্যামিতিক রূপরেখাকে প্রতিনিধিত্ব করে। এই ক্লাস ব্যবহার করে আপনি আপনার কাস্টম পথ আঁকতে পারেন।

কাস্টম পথ আঁকার জন্য জাভाएফএক্স বিভিন্ন পথ এলিমেন্ট প্রদান করে এবং এগুলো javafx.scene.shape প্যাকেজে ক্লাস হিসেবে উপলব্ধ।

  • LineTo - এটি লাইন পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত সরাসরি রেখা আঁকার সাহায্য করে।
  • HLineTo - এটি হরিজন্টাল লাইন পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত অনুভূমিক রেখা আঁকার সাহায্য করে।
  • VLineTo - এটি ভার্টিক্যাল লাইন পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত লম্ব রেখা আঁকার সাহায্য করে।
  • QuadCurveTo - এটি কোয়াডর্যাটিক কার্ভ পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত কোয়াডর্যাটিক কার্ভ আঁকার সাহায্য করে।
  • CubicCurveTo - এটি কিউবিক কার্ভ পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত কিউবিক কার্ভ আঁকার সাহায্য করে।
  • ArcTo - এটি আর্ক পথ এলিমেন্টকে প্রতিনিধিত্ব করে। বর্তমান কোঅর্ডিনেট থেকে নির্দিষ্ট (নতুন) কোঅর্ডিনেট পর্যন্ত আর্ক আঁকার সাহায্য করে।
  • MoveTo - এই ক্লাস ব্যবহার করে পথকে বর্তমান কোঅর্ডিনেট থেকে নতুন কোঅর্ডিনেটে সরানো যায়।

পথ এলিমেন্ট ব্যবহার করে পথ তৈরি করা

Path ক্লাসে একটি অবজার্বেবল লিস্ট থাকে যা বর্তমান পথের পথ এলিমেন্টগুলো ধারণ করে। সুতরাং পথ আঁকার জন্য:

  • প্রয়োজনীয় PathElement ক্লাসগুলো ইনস্ট্যানশিয়েট করুন।
  • প্রতিটি পথের প্রপার্টি সেটার মেথড বা কনস্ট্রাক্টর আর্গুমেন্ট হিসেবে সেট করুন।
  • Path ক্লাসটি ইনস্ট্যানশিয়েট করুন।
  • getElements() মেথড ব্যবহার করে উপরের তৈরি করা Path-এর অবজার্বেবল লিস্ট অবজেক্ট পান।
  • ইচ্ছামত ক্রমে সব পথ এলিমেন্ট অবজেক্টগুলো add() বা addAll() মেথড ব্যবহার করে অবজার্বেবল লিস্টে যোগ করুন।
  • অবশেষে, পথটি Group অবজেক্টে যোগ করুন।

নোট - আপনি Path ক্লাসের কনস্ট্রাক্টরে সরাসরি পথ এলিমেন্টগুলো পাস করেও পারেন।

উদাহরণ

নিচের জাভाएফএক্স উদাহরণ 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) {
        // আকৃতি আঁকা
        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);
        
        // একটি Path তৈরি
        Path path = new Path(moveTo, line1, line2, line3, line4, line5);
        path.setFill(Color.DARKCYAN);
        path.setStrokeWidth(8.0);
        path.setStroke(Color.DARKSLATEGREY);
        
        // Stage অবজেক্ট প্রস্তুত করা
        Group root = new Group(path);
        Scene scene = new Scene(root, 595, 300, Color.BEIGE);
        stage.setTitle("পথ দিয়ে আর্ক আঁকা");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]){
        launch(args);
    }
}

আউটপুট

জাভाएফএক্স-এ বিভিন্ন পথ এলিমেন্ট কী কী?

  1. জাভাFX ২D অবজেক্টের বিভিন্ন অপারেশন (Union, Subtraction, Intersection)

  2. জাভাFX-এ প্রদত্ত বিভিন্ন ২D শেপস

  3. জাভাতে ক্লাসের বিভিন্ন প্রকার কী কী?

  4. পাইথনে ক্যারেক্টার ক্লাস অপারেশন কী?