JavaFX Scene Builder হল একটি গ্রাফিকাল ইউজার ইন্টারফেস (GUI) ডিজাইন টুল যা JavaFX অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহৃত হয়। এটি একটি ড্র্যাগ-এন্ড-ড্রপ ইন্টারফেস দিয়ে JavaFX ইউজার ইন্টারফেস ডিজাইন করতে সহায়তা করে। এর মাধ্যমে কোডিংয়ের মাধ্যমে UI ডিজাইন করার চেয়ে দ্রুত এবং সহজভাবে JavaFX অ্যাপ্লিকেশন তৈরি করা যায়।
JavaFX Scene Builder ব্যবহার করে UI ডিজাইন করার জন্য, আপনি GUI উপাদানগুলো (যেমন বোতাম, টেক্সট ফিল্ড, টেবিল, লেবেল ইত্যাদি) একটি দৃশ্যের মধ্যে সহজেই স্থাপন করতে পারবেন। তারপর, এই দৃশ্যের কোড Java অ্যাপ্লিকেশনে ইন্টিগ্রেট করতে পারেন।
JavaFX Scene Builder এর ব্যবহার:
- Scene Builder ইনস্টল করা:
- প্রথমে, JavaFX Scene Builder ডাউনলোড ও ইনস্টল করতে হবে। এটি Scene Builder ডাউনলোড পেজ থেকে ডাউনলোড করা যেতে পারে।
- ইনস্টল করার পর, আপনি এটিকে standalone অ্যাপ্লিকেশন হিসেবে ব্যবহার করতে পারেন বা আপনার IDE (যেমন IntelliJ IDEA, Eclipse) এর সাথে ইন্টিগ্রেট করতে পারেন।
JavaFX Scene Builder দিয়ে GUI ডিজাইন করা:
স্টেপ ১: Scene Builder ওপেন করা
- JavaFX Scene Builder ওপেন করার পর, আপনি একটি নতুন প্রজেক্ট তৈরি করতে পারেন অথবা একটি বিদ্যমান FXML ফাইল খুলতে পারেন।
স্টেপ ২: UI উপাদান যোগ করা
- ড্র্যাগ-এন্ড-ড্রপ ব্যবহার করে UI উপাদানগুলো (যেমন
Button,Label,TextField,VBox,HBoxইত্যাদি) ডিজাইনে যোগ করুন।
স্টেপ ৩: UI উপাদান কনফিগার করা
- উপাদানগুলোর বিভিন্ন প্রপার্টি (যেমন সাইজ, টেক্সট, কালার) কনফিগার করুন। আপনি প্রতিটি UI উপাদানের জন্য একটি
fx:idসেট করতে পারেন, যা পরে কোডে রেফারেন্স হিসেবে ব্যবহার করা হবে।
স্টেপ ৪: FXML ফাইল সংরক্ষণ করা
- ডিজাইন শেষ হলে,
FXMLফাইলটি সংরক্ষণ করুন। এটি একটি XML ফাইল, যা আপনার UI ডিজাইন ধারণ করবে।
- FXML ফাইলের সাথে Java কোড সংযোগ করা:
- Java কোডের মধ্যে
FXMLফাইল লোড করতে, আপনিFXMLLoaderব্যবহার করতে পারেন। Java কোডে UI উপাদানগুলোর সাথে ইন্টারঅ্যাক্ট করার জন্য, আপনি তাদেরfx:idএর মাধ্যমে রেফারেন্স পেতে পারেন।
- Java কোডের মধ্যে
উদাহরণ:
ধরা যাক, আমরা JavaFX Scene Builder ব্যবহার করে একটি Button এবং একটি Label তৈরি করতে চাই।
FXML ফাইল (Scene Builder থেকে তৈরি):
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.StackPane?>
<StackPane xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller">
<Label fx:id="myLabel" text="Hello, JavaFX!" />
<Button fx:id="myButton" text="Click Me" onAction="#handleButtonAction" />
</StackPane>
এখানে, Button এর fx:id হল myButton এবং Label এর fx:id হল myLabel।
Java Controller Class:
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
public class Controller {
@FXML
private Label myLabel;
@FXML
private Button myButton;
// বোতাম ক্লিক করলে লেবেল আপডেট হবে
@FXML
private void handleButtonAction() {
myLabel.setText("Button Clicked!");
}
}
Main Application Class:
package sample;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("JavaFX Application");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ব্যাখ্যা:
- FXML ফাইল:
FXMLফাইলটি UI উপাদান (যেমনButtonএবংLabel) ধারণ করে এবং তাদের সাথে Java কোডের ইন্টারঅ্যাকশন সেটআপ করে।fx:idপ্রতিটি UI উপাদানের জন্য একটি অনন্য আইডি প্রদান করে, যা Java কোডে রেফারেন্স করা হবে।
- Java Controller:
@FXMLঅ্যানোটেশন দিয়ে Java কোডেFXMLউপাদানগুলোর রেফারেন্স আনা হয়।handleButtonAction()মেথডটিButtonএরonActionইভেন্টের সাথে যুক্ত, যা বোতাম ক্লিক হলে লেবেলটিকে আপডেট করে।
- Main Application Class:
FXMLLoader.load()মেথডটিFXMLফাইলটি লোড করে এবং সেটিSceneহিসেবে সেট করে JavaFX উইন্ডোতে প্রদর্শন করে।
JavaFX Scene Builder এর সুবিধা:
- ড্র্যাগ-এন্ড-ড্রপ ইন্টারফেস: Scene Builder UI উপাদানগুলো ডিজাইন করার জন্য একটি ব্যবহারকারী-বান্ধব ড্র্যাগ-এন্ড-ড্রপ ইন্টারফেস প্রদান করে, যা কোডিংয়ের চেয়ে অনেক দ্রুত।
- FXML ফাইলের ব্যবস্থাপনা: UI ডিজাইন এবং Java কোডের মধ্যে পরিষ্কার আলাদা আলাদা ভাগ রাখা সম্ভব হয়, কারণ UI ডিজাইন FXML ফাইলে এবং লজিক Java ক্লাসে থাকে।
- কাস্টম কন্ট্রোলের সহজ ব্যবহার: Scene Builder এর মাধ্যমে আপনি কাস্টম কন্ট্রোল তৈরি করতে পারেন এবং সেগুলোর সাথে সহজে ইন্টারঅ্যাক্ট করতে পারেন।
- ইন্টিগ্রেশন সাপোর্ট: Java IDE (যেমন IntelliJ IDEA, Eclipse) এর সাথে ইন্টিগ্রেট করে Scene Builder ব্যবহার করা যায়, যাতে ডেভেলপমেন্ট আরো সহজ হয়।
JavaFX Scene Builder ব্যবহার করার জন্য টিপস:
- FXML ফাইলের সিনট্যাক্স ভুল করবেন না: FXML ফাইলটি একটি XML ফাইল, তাই XML সিনট্যাক্স অনুযায়ী কোড লিখতে হবে।
- FXML ফাইলের মধ্যে স্টাইল ব্যবহার করুন: JavaFX Scene Builder থেকে তৈরি হওয়া FXML ফাইলে CSS ব্যবহার করে ডিজাইন আরও সুন্দর করা যায়।
- Java কোডে UI উপাদানগুলোর সাথে ইন্টারঅ্যাক্ট করুন:
FXMLফাইল থেকে UI উপাদানগুলোর রেফারেন্স পেতে@FXMLঅ্যানোটেশন ব্যবহার করুন এবং Java কোডের মাধ্যমে UI উপাদানগুলোর কার্যকারিতা পরিচালনা করুন।
JavaFX Scene Builder JavaFX অ্যাপ্লিকেশন তৈরি করার জন্য একটি শক্তিশালী এবং সহজ উপায়, যা দ্রুত এবং দক্ষতার সাথে UI ডিজাইন করতে সাহায্য করে।
Read more