Stage এবং Scene এর ভূমিকা

JavaFX Application স্ট্রাকচার - জাভাএফএক্স (JavaFx) - Java Technologies

373

JavaFX-এ Stage এবং Scene দুটি প্রধান উপাদান যা একটি GUI অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এগুলি JavaFX এর ভিত্তি, যা আপনার অ্যাপ্লিকেশনের উইন্ডো এবং ভিজ্যুয়াল কন্টেন্টের কাঠামো প্রদান করে।

1. Stage:

Stage হল JavaFX অ্যাপ্লিকেশনের প্রধান উইন্ডো বা container। এটি একে অপরের সাথে সম্পর্কিত সকল দৃশ্য (Scenes) ধারণ করে এবং এটি আপনার অ্যাপ্লিকেশনের primary stage হিসেবে কাজ করে।

  • Stage একটি GUI উইন্ডোর মতো, যেখানে আপনি আপনার অ্যাপ্লিকেশনের ইউজার ইন্টারফেস উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে পারবেন।
  • JavaFX অ্যাপ্লিকেশন সাধারণত primaryStage দিয়ে শুরু হয়, যা Stage ক্লাসের একটি ইনস্ট্যান্স।
  • Stage এর মধ্যে একটি Scene থাকবে যা ইউজার ইন্টারফেসের উপাদান ধারণ করবে।

Stage এর কিছু প্রধান মেথড:

  • setTitle(String title): উইন্ডোর শিরোনাম সেট করা।
  • setWidth(double width), setHeight(double height): উইন্ডোর আকার নির্ধারণ করা।
  • setScene(Scene scene): স্টেজে একটি Scene সেট করা।
  • show(): উইন্ডো দেখানো (display) করা।

Stage এর ভূমিকা:

  • Primary Window: একটি অ্যাপ্লিকেশনের মেইন উইন্ডো (উদাহরণস্বরূপ, একটি ডেস্কটপ অ্যাপ্লিকেশন) হিসেবে কাজ করে।
  • Window Management: এটি উইন্ডোর আকার, অবস্থান এবং দৃশ্যের (Scenes) মধ্যে টগলিং পরিচালনা করে।

2. Scene:

Scene হল JavaFX অ্যাপ্লিকেশনের ভিজ্যুয়াল কন্টেন্ট বা graphical scene graph। এটি একটি ভিউ যা আপনি স্টেজে দেখাতে চান, এবং এতে থাকবে সকল ইউজার ইন্টারফেস উপাদান (যেমন বটন, লেবেল, টেক্সটফিল্ড, প্যানেল ইত্যাদি)।

  • Scene একটি container হিসেবে কাজ করে এবং এতে রাখা হয় সমস্ত Nodes (যেমন, UI components) এবং Graphics (যেমন, shapes, images, etc.)।
  • একাধিক Scene থাকতে পারে, কিন্তু সাধারণত একটি Scene একাধিক Node ধারণ করে এবং স্টেজে প্রদর্শিত হয়।

Scene এর কিছু প্রধান মেথড:

  • setRoot(Node root): সীনের মূল উপাদান (root) সেট করা।
  • setFill(Paint color): সীনের ব্যাকগ্রাউন্ড কালার সেট করা।
  • setOnKeyPressed(EventHandler<KeyEvent> handler): কিবোর্ডের কি প্রেস ইভেন্ট হ্যান্ডলিং।

Scene এর ভূমিকা:

  • UI Elements: এটি স্টেজের মধ্যে যে সমস্ত UI উপাদানগুলো থাকবে সেগুলি ধারণ করে, যেমন বটন, টেক্সট, লেবেল ইত্যাদি।
  • Scene Graph: এটি একটি গাছের মতো কাঠামো, যেখানে প্রতিটি Node একটি UI উপাদান, এবং তার মধ্যে সম্পর্কও নির্ধারিত থাকে।

Stage এবং Scene এর সম্পর্ক:

  • Stage এবং Scene একে অপরের সাথে সম্পর্কিত। Stage হল একটি উইন্ডো, এবং Scene হল সেই উইন্ডোর ভিতরের কন্টেন্ট।
  • একটি Stage একাধিক Scene ধারণ করতে পারে, এবং আপনি setScene() মেথড ব্যবহার করে সেই সীনের কন্টেন্ট পরিবর্তন করতে পারেন।

উদাহরণ:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

public class StageAndSceneExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // Button তৈরি
        Button btn = new Button("Click Me!");

        // Button এর জন্য Action Event
        btn.setOnAction(e -> System.out.println("Button Clicked!"));

        // Scene তৈরি
        Scene scene = new Scene(btn, 300, 250);

        // Stage-এ Scene সেট করা
        primaryStage.setTitle("JavaFX Stage and Scene Example");
        primaryStage.setScene(scene);  // Stage এ Scene সেট করা
        primaryStage.show();  // Stage দেখানো
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  1. Stage: এখানে primaryStage হল আমাদের অ্যাপ্লিকেশনের মেইন উইন্ডো। আমরা স্টেজে একটি Scene সেট করেছি।
  2. Scene: Scene তৈরি করা হয়েছে এবং এটি একটি Button কন্ট্রোল ধারণ করছে। এই Scene কে স্টেজে যোগ করা হয়েছে।
  3. Button: এটি ব্যবহারকারী ইন্টারঅ্যাকশন সনাক্ত করে এবং বাটনে ক্লিক করলে একটি বার্তা কনসোলে প্রিন্ট হবে।

Output:

  • একটি উইন্ডো খোলার পর, একটি বটন "Click Me!" দেখাবে।
  • বটনে ক্লিক করলে কনসোলে "Button Clicked!" বার্তা প্রদর্শিত হবে।

সারাংশ:

  • Stage হল JavaFX অ্যাপ্লিকেশনের উইন্ডো যা ইউজার ইন্টারফেস ধারণ করে।
  • Scene হল সেই উইন্ডোর ভিজ্যুয়াল কন্টেন্ট, যেখানে UI উপাদানগুলো রাখার জন্য Node গুলো ব্যবহৃত হয়।
  • Stage এবং Scene এর মধ্যে সম্পর্কের মাধ্যমে আপনি JavaFX অ্যাপ্লিকেশনের দৃশ্যপট তৈরি করেন।
Content added By
Promotion

Are you sure to start over?

Loading...